举例解释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

【问题分析】

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

【问题假设】

  1. 三类产品的产量都等于销售量;
  2. 产量为0时,销售量也为0,成本为0,利润也会为0;
  3. 三类产品的产量,都是按整数计件;

【符号说明】

  • 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


相关文章
|
7月前
|
C语言
C 语言教程:条件和 if...else 语句
您已经学习过 C 语言支持数学中的常见逻辑条件
138 0
|
4月前
条件循环语句有哪些?语法?区别?
条件循环语句有哪些?语法?区别?
36 0
|
5月前
|
语音技术 数据安全/隐私保护
语音识别,猜猜心里数字讲解,猜数字的组合,判断语句的嵌套,嵌套语句使用很简单,我们写一个外层嵌套的条件,利用缩进,满足条件,才会执行条件2,判断语句综合案例,如何产生变量的随机数字,while循环应用
语音识别,猜猜心里数字讲解,猜数字的组合,判断语句的嵌套,嵌套语句使用很简单,我们写一个外层嵌套的条件,利用缩进,满足条件,才会执行条件2,判断语句综合案例,如何产生变量的随机数字,while循环应用
|
7月前
|
Python
什么是语句?什么是表达式?怎么区分?
编程语言中的语句和表达式是基础概念。语句是执行操作或命令的代码行,如Python的`print("Hello, World!")`,通常以换行符结束。表达式则表示值或计算过程,如`2 + 2`,可赋值给变量或用于计算。语句侧重于执行动作,表达式侧重于计算值。表达式可含运算符、变量等,而语句由主语和谓语构成。示例中,`x = 10`和`print("Hello, World!")`是语句,`y = x + 5`和`result = a * b + c`是表达式。
|
7月前
|
存储 程序员 编译器
【新手解答5】深入探索 C 语言:宏中的文本、标识符和字符串 + 递归运算、条件语句、循环 + `switch-case` 与多项条件和枚举的差别
【新手解答5】深入探索 C 语言:宏中的文本、标识符和字符串 + 递归运算、条件语句、循环 + `switch-case` 与多项条件和枚举的差别
83 0
|
人工智能
循环结构 程序举例
循环结构 程序举例
71 0
|
程序员 C语言
C语言编程—判断语句
判断结构要求程序员指定一个或多个要评估或测试的条件,以及条件为真时要执行的语句(必需的)和条件为假时要执行的语句(可选的)。 C 语言把任何非零和非空的值假定为 true,把零或 null 假定为 false。
363 0
|
Java Shell 测试技术
shell编程之条件语句(条件测试、if语句、case语句)(上)
要使Shell脚本程序具备一定的“智能”,面临的第一个问题就是如何区分不同的情况以确定执行何种操作。Shell环境根据命令执行后的返回状态值($?)来判断是否执行成功,当返回值为0时表示成功,否则(非0值)表示失败或异常。 使用专门的测试工具——test命令,可以对特定条件进行测试,并根据返回值来判断条件是否成立(返回值为0表示条件成立)。 使用test测试命令时,有以下两种形式:
242 1
|
Shell 测试技术 数据安全/隐私保护
shell编程之条件语句(条件测试、if语句、case语句)(下)
要使Shell脚本程序具备一定的“智能”,面临的第一个问题就是如何区分不同的情况以确定执行何种操作。Shell环境根据命令执行后的返回状态值($?)来判断是否执行成功,当返回值为0时表示成功,否则(非0值)表示失败或异常。 使用专门的测试工具——test命令,可以对特定条件进行测试,并根据返回值来判断条件是否成立(返回值为0表示条件成立)。 使用test测试命令时,有以下两种形式:
165 0
|
IDE Shell 开发工具
算数表达式-test测试语句-if流程控制语句 | 学习笔记
快速学习算数表达式-test测试语句-if流程控制语句。
算数表达式-test测试语句-if流程控制语句 | 学习笔记