2021-1-29 美赛前LINGO的学习笔记

LINGO

  • LINGO的使用比较简单,
  • 它总是以model:开始,以end结束
  • 字母不区分大小写
  • 语句结束用分号
  • LINGO默认变量为非负
  • 约束条件可以命名可以不命名(软件会自动帮你命名)

将文件保存、命名后,选择solver|Solve 执行

最优解和影子价格

下面给一段代码

model:
max=72*x1+64*x2;
[milk] x1+x2<50;
[time] 12*x1+8*x2<480;
[cpct] 3*x1<100;
end

得到如下报告

 Global optimal solution found.
 Objective value:                              3360.000
 Infeasibilities:                              0.000000
 Total solver iterations:                             2
Elapsed runtime seconds:                          0.22

  Model Class:                                        LP

Total variables:                      2
 Nonlinear variables:                  0
 Integer variables:                    0

  Total constraints:                    4
 Nonlinear constraints:                0

 Total nonzeros:                       7
 Nonlinear nonzeros:                   0



                            Variable           Value        Reduced Cost
                                  X1        20.00000            0.000000
                                  X2        30.00000            0.000000

                                 Row    Slack or Surplus      Dual Price
                                   1        3360.000            1.000000
                                MILK        0.000000            48.00000
                                TIME        0.000000            2.000000
                                CPCT        40.00000            0.000000

其中slack or surplus 是资源剩余 为0代表全部使用 也就是有效约束(紧约束)
dual price 是迭代后算出的影子价格,代表约束的资源增加一个单位后 总价值的提升

敏感性分析

找到lingo的solver里的option选项 在general solver里如图更改
在这里插入图片描述

再点击solve后 找到solver|range 就能得到如此输出

Ranges in which the basis is unchanged:

                                   Objective Coefficient Ranges:

                                    Current        Allowable        Allowable
                  Variable      Coefficient         Increase         Decrease
                        X1         72.00000         24.00000         8.000000
                        X2         64.00000         8.000000         16.00000

                                       Righthand Side Ranges:

                                    Current        Allowable        Allowable
                       Row              RHS         Increase         Decrease
                      MILK         50.00000         10.00000         6.666667
                      TIME         480.0000         53.33333         80.00000
                      CPCT         100.0000         INFINITY         40.00000

得到能更改的上下限

全局最优解

注意,为了效率,默认的最优解是局部最优解,找到设置里的global solver,设置全局最优解。

分段函数,阈值和整数规划

分段函数可以用
(x2-500)x3=0这样的来约束
阈值可以引入0,1变量y,80y<=x<=Maxy,y取值是0,1
整数规划,用@gin规定

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

萧易风船长

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值