举例解释Lingo的条件执行@if语句

举例解释Lingo的条件执行@if语句

可变成本问题

某公司生产A、B、C共3种产品,售价分别是12元、7元和6元。生产1件这些产品的技术服务、直接劳动、材料的消耗以及这些资源的限量如表所示。

产品\项目

技术服务(h)

直接劳动(h)

材料(kg)

售价(¥/件)

A

1

10

3

12

B

2

4

2

7

C

1

5

1

6

现有量

100

700

400

另外生产成本是产量的非线性函数,如下表。如何安排每种产品的产量,使得利润最大。

产品A

产量(件)

成本

(元/件)

0-40

10

41-100

9

101-150

8

150以上

7

产品B

产量(件)

成本

(元/件)

0-50

6

51-100

4

100以上

3

产品C

产量(件)

成本

(元/件)

0-100

5

100以上

4

【问题分析】

生产中,利润=收入-成本,收入=销量×单价,成本=产量×单位成本,只不过这里成本是产量的阶梯函数(折扣函数)。

【问题假设】

三类产品的产量都等于销售量;产量为0时,销售量也为0,成本为0,利润也会为0;三类产品的产量,都是按整数计件;【符号说明】

xi 分别表示A、B、C三类产品的产量(销售量),i=1,2,3;L 总利润;R 总收入;C 总成本。Ci 分别表示A、B、C三种产品的总生产成本;i=1,2,3;【建立模型】

总利润 L=R-C

总收入

生产成本

其中产品A的生产成本为

产品B的生产成本为

产品C的生产成本为

产量的资源约束

变量约束

【数学模型】

max L=R-C

lingo程序

max=R-C;

R=12*x1+7*x2+6*x3;

C=c1+c2+c3;

c1=@if(x1#le#40,10*x1,@if(41#ge#x1#and#x1#le#100,9*x1, @if(x1#le#150#and#x1#ge#101,8*x1,7*x1)));

c2=@if(x2#le#50,6*x2,@if(51#ge#x2#and#x2#le#100,4*x2,3*x2));

c3=@if(x3#le#100,5*x3,4*x3);

x1+2*x2+x3<100;

10*x1+4*x2+5*X3<700;

3*x1+2*x2+x3<400;

@gin(x1);@gin(x2);@gin(x3);

c1=@if(x1#le#40,10*x1,

@if(41#ge#x1#and#x1#le#100,9*x1,

@if(x1#ge#101#and#x1#ge#150,8*x1,7*x1)));

翻译为matlab条件循环语句,为

>> if x1<=40

c1=10*x1;

elseif (x1>=41)&(x1<=100)

c1=9*x1;

elseif (x1>=101)&(x1<=150)

c1=8*x1;

else

c1=7*x1;

end

相关文章

如何进入re管理器
365直播电视版下载

如何进入re管理器

📅 08-12 👁️ 7534
塑膠玩具可以回收嗎?3個方法告訴你該如何處理不要的塑膠玩具|超過30年累積近5星評價的台中搬家公司
scroll和wheel事件
365bet亚洲城

scroll和wheel事件

📅 07-27 👁️ 9195