第一章 线性规划习题解答

第一章 线性规划习题解答
文章图片
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

【第一章 线性规划习题解答】第一章 线性规划习题解答
文章图片

    推荐阅读