第一章 线性规划习题解答

在这里插入图片描述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))<b(i));
  -2*x(1)+x(3)=1;
END

在这里插入图片描述
在这里插入图片描述
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;
endsets

data:
c=1 2 3 4;
a=1 -1 -1 1 1 -1 1 -3 1 -1 -2 3;
b=0 1 -0.5;
enddata

min=@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;
endsets

data:
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;
enddata

max=(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<c);!写出不等式约束;
x(1)+x(2)=x(3)+x(4)+x(5);!写出等式约束;
x(6)+x(7)=x(8);
end

在这里插入图片描述

  • 3
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值