存在MATLAB代码以找到所谓的"最小体积包围椭圆体"(例如,这里,也在这里).为方便起见,我会粘贴相关部分:
function [A , c] = MinVolEllipse(P, tolerance)
[d N] = size(P);
Q = zeros(d+1,N);
Q(1:d,:) = P(1:d,1:N);
Q(d+1,:) = ones(1,N);
count = 1;
err = 1;
u = (1/N) * ones(N,1);
while err > tolerance,
X = Q * diag(u) * Q';
M = diag(Q' * inv(X) * Q);
[maximum j] = max(M);
step_size = (maximum - d -1)/((d+1)*(maximum-1));
new_u = (1 - step_size)*u ;
new_u(j) = new_u(j) + step_size;
count = count + 1; …Run Code Online (Sandbox Code Playgroud) 使用MapReduce可以在分布式系统上解决简单的线性规划问题吗?
我刚学会了解决线性程序的单纯形法,我试图理解它的双重问题代表什么.
我理解解决双重问题的机制 - 我不需要帮助.我无法得到的(甚至在维基百科上阅读之后)是双变量中y变量的实际含义.
我想在原始问题中给出一个可变含义的例子,以及我从双重中得出的结论,并且会问任何人在解释双重意义中的意义:
原始:
max z = 3*x1 + 5*x2
subject to:
x1 <= 4
2*x2 <= 12
3*x1 + 2*x2 <= 18
x1, x2 >= 0
Run Code Online (Sandbox Code Playgroud)
在原始问题中,x1和x2是要生产的产品A和B的量.3和5分别是它们的单位售价.产品由3台M1-M3机器生产.要生产第一种产品,需要在M1上工作一小时,在M3上工作3小时.要生产第二个,M2和M3需要两个小时的工作.机器M1,M2,M3可分别最多工作4小时,12小时和18小时.最后,我不能产生负数量的任何产品.
现在,我设置了双重问题:
min z = 4*y1 + 12*y2 + 18*y3
subject to:
y1 + …Run Code Online (Sandbox Code Playgroud) 尽管Knapsack问题陈述似乎与线性规划中的问题类似,但为什么线性规划算法类别中不包括背包问题?
任何人都可以推荐图书馆 - 免费,或商业,但负担得起(
这里列出了一些:http: //en.wikipedia.org/wiki/Linear_programming#Solvers_and_scripting_.28programming.29_languages
....但我刚刚开始使用LP并希望有人可以推荐一些东西.
我试图基本上最小化手机订阅服务的定价.
我想第一个问题是:线性编程是否适用于解决这个问题?
一个简化的例子:
基本计划选项
计划A:200个语音分钟,10个文本消息,10 MB数据= 25美元
计划B:400个语音分钟,25个文本消息,25 MB数据= 40美元
计划C:1000个语音分钟,50个文本消息,50 MB数据= 65美元
...
计划F:2500分钟语音,150条短信,150 MB数据= 95美元
超出计划的费用(适用于所有情况):
每个语音分钟
$ .10每条短信
$ .20 美元每MB数据1.50美元
可选附加套餐(添加到基本套餐):
免费周末15美元
免费晚上和周末(晚上8点后)20美元
免费晚上和周末(下午6点后)35美元短信套餐#1(50条短信)5美元
短信套餐#2( 150条短信)10美元
数据包#1(20 MB数据)20美元
数据包#2(50 MB数据)30美元
Chatty用户混合包#1(100分钟语音,100条短信)$ 15
Geeky用户混合包#1(50分钟)语音,150 MB数据)35美元
等等
我有50个用户的一组详细的使用数据,并想知道每个人应该在哪个基本计划组合(A,B,C ... F),以及哪些附加软件包他们应该有.
我正在使用IBM cplex优化器来解决优化问题,我不希望优化器执行所有终端打印.是否有成员在IloCplex或IloModel类中关闭此功能?这些是关于剪切和迭代的打印.打印到终端是昂贵的,我的问题最终将是数百万变量的数量级,我不想浪费时间与这些多余的输出.谢谢.
我想知道如何在R中设置一些基本匹配程序的例子.在各种编程语言中有很多例子,但我还没有找到一个很好的R例子.
假设我想让学生与项目相匹配,我会考虑在谷歌搜索这个问题时遇到的3种替代方法:
1)Bipartite匹配案例:我要求每个学生指出要处理的3个项目(没有说明3个项目中的任何偏好排名).
ID T.1 T.2 T.3 T.4 T.5 T.6 T.7
1 1 1 1 0 0 0 0
2 0 0 0 0 1 1 1
3 0 1 1 1 0 0 0
4 0 0 0 1 1 1 0
5 1 0 1 0 1 0 0
6 0 1 0 0 0 1 1
7 0 1 1 0 1 0 0
Run Code Online (Sandbox Code Playgroud)
-
d.1 <- structure(list(Student.ID = 1:7, Project.1 = c(1L, 0L, 0L, 0L,
1L, …Run Code Online (Sandbox Code Playgroud) 我有一个优化问题,在目标函数2中有多个变量,使模型呈二次方.
我目前正在使用zimpl来解析模型,并使用glpk来解决它.由于它们不支持二次规划,我需要将其转换为MILP.
.第一个变量是实数,在[0,1]范围内,第二个变量是实数,范围从0到inf.这个可以没有问题是整数.
目标函数中的关键部分如下所示:
max ... + var1 * var2 + ...
Run Code Online (Sandbox Code Playgroud)
我在约束中遇到了类似的问题,但它们很容易解决.
我怎样才能在目标函数中解决这类问题?
mathematical-optimization linear-programming integer-programming quadratic-programming
我在Perl中有以下一组约束(只是一组约束样本,而不是我真正需要的约束):
$a < $b
$b > $c
$a is odd => $a in [10..18]
$a > 0
$c < 30
Run Code Online (Sandbox Code Playgroud)
我需要找到一个($a, $b, $c)满足约束的列表.我天真的解决方案是
sub check_constraint {
my ($a, $b, $c) = @_;
if !($a < $b) {return 0;}
if !($b > $c) {return 0;}
if (($a % 2) && !(10 <= $a && $a <= 18)) {return 0;}
if !($a > 0) {return 0;}
if !($c < 30) {return 0;}
return 1;
}
sub gen_abc {
my $c …Run Code Online (Sandbox Code Playgroud) 我正在寻找一个iOS库,可以为我正在开发的应用程序解决LP,IP,BIP,MIP问题.我发现GLPK但不知道如何为iOS编译它,在网上搜索了一段时间后,我没有发现任何有趣的内容......如果有人可以帮我学习如何为iOS编译GLPK,我会很感激要么知道iOS的一些开源LP解算器.