第一章 线性规划习题解答
文章图片
MATLAB:
c=[3,-1,-1];
a=[1 -2 1;
4 -1 -2];
b=[11,-3];
aeq=[-2 0 1];
beq=1;
[x,y]=linprog(-c,a,b,aeq,beq,zeros(3,1))
y=-y
LINGO:
MODEL:
SETS:
col/1..3/:c,x;
row/1..2/:b;
links(row,col):a;
ENDSETS
DATA:
C=3 -1 -1;
a=1 -2 1 4 -1 -2;
b=11 -3;
ENDDATA
MAX=@SUM(col:c*x);
@FOR(row(i):@SUM(col(j):a(i,j)*x(j))
文章图片
文章图片
MATLAB:
转换成线性的方法:
文章图片
clc,clear
c=1:4;
c=[c,c]';
aeq=[1 -1 -1 1;
1 -1 1 -3;
1 -1 -2 3];
beq=[0 1 -1/2];
aeq=[aeq,-aeq];
[uv,val]=linprog(c,[],[],aeq,beq,zeros(8,1))%这时uv有八个数字,上面推导中的ui是x1~x4,vi是x4~x8
x=uv(1:4)-uv(5:end)
LINGO:
model:
sets:
col/1..4/:c,x;
row/1..3/:b;
link(row,col):a;
endsetsdata:
c=1 2 3 4;
a=1 -1 -1 1 1 -1 1 -3 1 -1 -2 3;
b=0 1 -0.5;
enddatamin=@sum(col:c*@abs(x));
@for(row(i):@sum(col(j):a(i,j)*x(j))=b(i));
@for(col:@free(x));
end
文章图片
文章图片
文章图片
文章图片
LINGO(结果和答案不对)
model:
sets:
product/1..3/:a,b;
row/1..5/:c,d,y;
!y为中间变量;
num/1..9/:x;
endsetsdata:
a=0.25 0.35 0.5;
b=1.25 2 2.8;
c=6000 10000 4000 7000 4000;
d=300 321 250 783 200;
enddatamax=(b(1)-a(1)*(x(1)+x(2))+(b(2)-a(2))*x(8)+(b(3)-a(3))*x(9)-@sum(row:d/c*y));
y(1)=5*x(1)+10*x(6);
y(2)=7*x(2)+9*x(7)+12*x(9);
y(3)=6*x(3)+8*x(8);
y(4)=4*x(4)+11*x(9);
y(5)=7*x(5);
@for(row:y
【第一章 线性规划习题解答】
文章图片
推荐阅读
- 【生信技能树】R语言练习题|【生信技能树】R语言练习题 - 中级
- 喵喵
- 《吃掉那只青蛙》第一章
- [无戒学堂]读《百岁人生》第一章随记
- 自我修养--基础知识
- 论语学而篇第一章
- 赢者之心
- 《来自地狱的呢喃》第一章凌晨两点的怪音
- 第一章|第一章 阳光温暖,一见倾心。
- 爱她就陪她读书吧(《朗读手册》-第一章有感)