双和整数线性规划约束条件和3 d优化变量

25 Ansichten(30天)的
你好,
我想实现下面的MILP问题。我没有添加所有的约束不把我的问题复杂化。P和W整数决策变量(mx₁)。
酸处理
下面是我的代码来实现。我试图用MATLAB优化的语言但我不能正确的使用它,所以我使用了一个低效率的for循环。评论替代MATLAB脚本的约束。
数据= someFun2ImportData (“data.csv”);
len =长度(数据);
%两两距离矩阵
dist_matrix = squareform (pdist([数据(:2:3)],@lldistmile));
P = optimvar (“P”兰,“类型”,“整数”,下界的0,“UpperBound”1);
W = optimvar (' w '兰,兰,兰,“类型”,“整数”,下界的0,“UpperBound”1);
β= 150;
t = 5;
%的约束
我= 1:兰
const1 =总和(W(:,:我))= = 1;
ndesign.Constraints。const1 = const1;
% const2 =总和(W, 2) < = P;
const2 =总和(W(:,我,:))< = P (i);
ndesign.Constraints。const2 = const2;
% const3 =总和(W * dist_matrix /β2 [1])* 60 < = t;
k = 1:兰
const3 =总和(W (k,我)。* dist_matrix (i (k)) /β* 60 < = t;
总和(W (k,我)。* dist_matrix (i (k)) /β* 60
ndesign.Constraints。const3 = const3;
结束
结束
ndesign = optimproblem;%建立优化问题
objfun = (P)之和;%目标函数
ndesign。目标= objfun;%给objfun分配问题
选择= optimoptions (“intlinprog”,“显示”,“关闭”,“PlotFcn”,@optimplotmilp);
[溶胶,fval exitflag、输出]=解决(networkdesign,“选项”、选择);
我需要你的帮助来实现这个问题。

Akzeptierte Antwort

马特·J
马特·J 9月9日,2020
Bearbeitet:马特·J 9月9日,2020
数据= someFun2ImportData (“data.csv”);
len =长度(数据);
%两两距离矩阵
dist_matrix = squareform (pdist([数据(:2:3)],@lldistmile));
P = optimvar (“P”(len 1),“类型”,“整数”,下界的0,“UpperBound”1);
W = optimvar (' w '(兰,兰,兰,),“类型”,“整数”,下界的0,“UpperBound”1);
β= 150;
t = 5;
ndesign = optimproblem (“目标”sum (P));%建立优化问题
e = 1 (len);
ndesign.Constraints。const1 =(总和(重塑(W, [], len), 1) = = 1);
ndesign.Constraints。const2 =(挤压(sum (W, 2)) < = P * e);
ndesign.Constraints。const3 = (dist_matrix(:)。*重塑(W, [], len) < =β* t);
选择= optimoptions (“intlinprog”,“显示”,“关闭”,“PlotFcn”,@optimplotmilp);
[溶胶,fval exitflag、输出]=解决(ndesign,“选项”、选择);

Weitere Antworten (0)

Kategorien

找到更多的在线性规划和整数线性规划帮助中心文件交换

Produkte


版本

R2019a

社区寻宝

找到宝藏在MATLAB中央,发现社区如何帮助你!

开始狩猎!

翻译的