永发信息网

MATLAB解决线性规划问题解的输出和限制变量全部显示为整数

答案:1  悬赏:20  手机版
解决时间 2021-01-27 07:56
f=[-2;3;5];
a=[-2,5,-1;1,3,1];
b=[-10;12];
aeq=[1,1,1];
beq=7;
[x,z]=linprog(f,a,b,aeq,beq,zeros(3,1));
x,z=-z

我所运行出来的解为x =

7.0000
0.0000
0.0000

z =

14.0000

但是 书上给出的解wei
X=6.4286 0.5714 0
Z=14.5714

怎么显示为答案这样的 ?
最佳答案
你用round肯定不可能限制这些变量为整数的。
对于混合整数线性规划问题(MILP),2014a引入了一个函数intlinprog可用于求解。<pre t="code" l="as3">intlinprog(c,1:8,A,B,[],[],zeros(8,1))另外,可以用遗传算法求解混合整数非线性规划问题(当然,用于线性规划也可以)<pre t="code" l="as3">ga(@(x)c*x(:),8,A,B,[],[],zeros(1,8),[],[],1:8)但是,用两种方法得到的结果都是无法找到可行解(也就是,无法满足所有的约束条件,与目标函数无关),请题主还是检查一下问题自身是否有误。 为验证上述结果的正确性,我把模型转为Lingo格式,用Lingo求解:<pre t="code" l="as3">max=x1;
12*x1+0*x2+10*x3+0*x4+0*x5+0*x6+0*x7+0*x8<=47;
-12*x1+0*x2+10*x3+0*x4+0*x5+0*x6+0*x7+0*x8<=-37;
18*x1+0*x2+10*x3+8*x4+0*x5+0*x6+0*x7+0*x8<=88;
-18*x1+0*x2+-10*x3+-8*x4+0*x5+0*x6+0*x7+0*x8<=-80;
0*x1+12*x2+0*x3+0*x4+10*x5+0*x6+0*x7+0*x8<=31;
0*x1+-12*x2+0*x3+0*x4+-10*x5+0*x6+0*x7+0*x8<=-21;
0*x1+18*x2+0*x3+0*x4+10*x5+8*x6+0*x7+0*x8<=81;
0*x1+-18*x2+0*x3+0*x4+-10*x5+-8*x6+0*x7+0*x8<=73;
0*x1+6*x2+0*x3+0*x4+10*x5+8*x6+8*x7+0*x8<=131;
0*x1+-6*x2+0*x3+0*x4+-10*x5+-8*x6+-8*x7+0*x8<=-123;
18*x1+18*x2+10*x3+8*x4+-10*x5+8*x6+8*x7+8*x8<=252;
-18*x1+-18*x2+-10*x3+-8*x4+10*x5+-8*x6+-8*x7+-8*x8<=-244;
1*x1+1*x2+-0.2*x3+-0.2*x4+-0.2*x5+-0.2*x6+-0.2*x7+-0.2*x8<=0;
@gin(x1);
@gin(x2);
@gin(x3);
@gin(x4);
@gin(x5);
@gin(x6);
@gin(x7);
@gin(x8);其中目标函数是随便写的,因为现在主要是要验证约束条件存在冲突,导致找不到可行解,与目标函数无关。验证的结果同样是找不到可行解(81. NO FEASIBLE SOLUTION FOUND)。 对于这种情况,Lingo提供了Debug功能,可以帮助用户找出导致不可行的最小约束集合,得到的结果如下:<pre t="code" l="as3"> Constraints and bounds that cause an infeasibility:
Sufficient Rows:
(Dropping any sufficient row will make the model feasible.)
[_3] - 12 * X1 + 10 * X3 <= - 37 ;
[_2] 12 * X1 + 10 * X3 <= 47 ;
Sufficient Variable Bounds:
(Dropping any sufficient bound will make the model feasible.)
X3 >= 0也就是说,去掉第一个或第二个约束都可以解决可行解的问题,或者去掉x3>=0的变量限制也可以(我试了一下,好像这个不起作用?)。总之还是请题主好好check一下题目的条件。
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
华佗在世还是华佗再世
easylistening地址在什么地方,想过去办事
读了《伟大的悲剧》这一课,如果你是一位来到
【小学一年级数学上册教案人教版】一年级数学
顺发汽贸公司地址在什么地方,想过去办事
有没有能直接玩古墓丽影的游戏平台啊?
阅事的意思是什么啊?知道的请说下!
为什么我玩我的世界生存默认图都到森林
2019年通城学典初中英语阅读组合训练九年级全
iamhere地址在哪,我要去那里办事
机油加多了会怎么样
刀剑英雄2职业介绍
谁能给我推荐个有名的小吃店,我想学点手艺自
渭北豪华汽修厂地址好找么,我有些事要过去
原配的空调遥控器失灵一按后显示屏上的图像全
推荐资讯
【afternoon是什么意思】afternoon是什么意思
英国人起名字是怎么起的?是有好多名字自己选
深圳社保卡可以转东莞吗?
怎样求几个数的最小公倍数
约克夏梗智商在狗里面算第几
“央视正面报道衡水中学”观后感
我家最美故事作文600字(题目自拟)初中作文
请问社会养老保险金的领取是怎么计算的?
红的轻小说出完了么?
超凡蜘蛛侠2游戏两个版本下了导致说文件包冲
渡船头鱼丸原创店地址在什么地方,我要处理点
红灯笼酒店(开封杞县)地址在什么地方,我要处
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?