java调用lingo实例_一个实例来见证LINGO的强大

31d227de4a931af9d78c768c5f1860ec.png

b9dcbd19a6791368dce356b39d905919.png

bb949cf5ae7c067acd27de4893423f0c.png

代码如下

1、解决问题一的目标1:

!钢管下料,原料19m;

!客户需求:4m的50根、6m的20根、8m的15根;

!Question 1:如何下料最省? Question 2:客户增加需求5m的10根;

! 4 6 8 余料

Plan 1: 4 0 0

Plan 2: 3 1 0 余1

Plan 3: 2 0 1 余3

Plan 4: 1 2 0 余3

Plan 5: 1 1 1 余1

Plan 6: 0 2 0 余1

plan 7: 0 0 2 余3;

!目标一:(总余量)MIN Z1=3*x1+x2+3*x3+3*x4+x5+x6+3*x7

目标二:(总根数)MIN Z2=x1+x2+x3+x4+x5+x6+x7

约束:4*x1+3*x2+2*x3+x4+x5>=50

x2+2*x4+x5+3*x6>=20

x3+x5+2*x7>=15

整数约束:xi为整数;

MODEL:

sets:

demand/1..3/:a;!j=1,2,3;

plan/1..7/:b,x;!i=1,2,3,4,5,6,7;

link(plan,demand):c;

endsets

data:

a=50,20,15;

b=3,1,3,3,1,1,3;

c=4 0 0 3 1 0 2 0 1 1 2 0 1 1 1 0 3 0 0 0 2;

enddata

min=@sum(plan(i):x(i)*b(i));

@for(demand(j):@sum(plan(i):x(i)*c(i,j))>a(j););!3行约束,@for(demand(j):),按照j循环3次,即j=1,2,3;

@for(plan(i):@gin(x(i)););

END

2、解决问题一的目标2:

MODEL:

sets:

demand/1..3/:a;!j=1,2,3;

plan/1..7/:b,x;!i=1,2,3,4,5,6,7;

link(plan,demand):c;

endsets

data:

a=50,20,15;

b=3,1,3,3,1,1,3;

c=4 0 0 3 1 0 2 0 1 1 2 0 1 1 1 0 3 0 0 0 2;

enddata

min=@sum(plan(i):x(i));

@for(demand(j):@sum(plan(i):x(i)*c(i,j))>a(j););!3行约束,@for(demand(j):),按照j循环3次,即j=1,2,3;

@for(plan(i):@gin(x(i)););

END

3、解决再加额外10根5m的需求:

MODEL:

sets:

type/1..4/:a,b;!i=1, 2,3,4;

plan/1..3/:x;!j=1,2,3;

link(type,plan):r;

endsets

data:

a=4 5 6 8;

b=50 10 20 15;

enddata

min=@sum(plan(j):x(j));

@sum(plan(j):x(j))>26;

@for(type(i):@sum(plan(j):r(i,j)*x(j))>b(i););

@for(plan(j):@sum(type(i):r(i,j)*a(i))>=16;);

@for(plan(j):@sum(type(i):r(i,j)*a(i))<=19;);

@for(plan(j):@gin(x(j)););

@for(link(i,j):@gin(r(i,j)););

END

这期就到这里啦,小编未来将在自己的blog里发表一些有关MATLAB、C语言、Python、LINGO、R、SPSS、EVIEWS and Multisim,and so on,还有一些单片机、电子设计等有关知识。

不要问小编为什么会这么多,因为小编学的是电子信息工程!一个难到爆炸的专业,上到天文电磁波,下到量子微机电路板,外加各种编程,2333.

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值