如何利用Lingo进行整数规划

  • 原创
  • |
  • 浏览:3940
  • |
  • 更新:

数学整数规划模型为:

当x (x1, x2 …… xl ) 中至少有一个xk (k=1,2……l) 要求是整数,此模型就称为整数规划

(integer programming,IP)模型. 如果至少有一个xk (k=1,2……l)要求是整数0或者1,则此模型称为0-1 型整数规划模型.

0-1 型整数规划在整数规划中占有重要地位. 一方面因为许多实际问题,例如很多指派问题、选址问题、送货问题可以归结为此类规划,另一方面任何有界变量的整数规划都与0-1规划等价,用0-1 规划方法还可以把多种非线性规划问题表示成整数规划问题,所以不少人致力于这个方向的研究. 求解0-1 规划的常用方法是分支定界法.

如何利用Lingo进行整数规划

工具/原料

  • Lingo 17 x64
  • Windows 10家庭中文版

实例举例

  1. 1

    运输成本

    问题 某运输公司接受了向地震灾区每天至少送180t 支援物资的任务. 该公司有8 辆载重为6t 的A 型卡车与4 辆载重为10t 的B 型卡车,有10 名驾驶员;每辆卡车每天往返的次数为A 型卡车4 次,B 型卡车3 次;每辆卡车每天往返的成本费A 型车为320 元,B 型车为400 元. 请你们为该公司安排一下应该如何调配车辆,才能使公司花费的运输成本最低?

    模型建立

    决策变量:设每天调出A型车x1辆,B型车x2辆.

    目标函数:设每天运输成本为z元. x1辆A型车花费320*x1元,x2辆B型车花费400* x2元,故z=320x1+400x2 .

    约束条件:

    资源约束 A型卡车只有8辆,x1<= 8;B型卡车只有4辆,x2 <=4;

    人力约束 公司只有10名驾驶员,每人一天只能开同一辆车,故x1 +x2<= 10;

    任务约束 每天需要完成输送180t物资的任务,即6*4x1+10*3x2 >=180;

    非负约束 x1, x2均不能为负值,即x1>=0, x2>=0;

    整数约束 x1, x2只能是整数.

    综上可得:

    如何利用Lingo进行整数规划
  2. 2

    模型求解

    上述模型中的目标函数及约束条件都是线性函数,因此是一个线性规划模型. 但是决策变量要求是整数,所以是一个整数规划. 下面是使用LINGO 9.0 求解的过程.

    打开LINGO 17,在新建文件中输入代码如下:

    model:

    min=320*x1+400*x2;

    x1+x2<=10;;

    6*4*x1+10*3*x2>=180;

    x1<=8;

    x2<=4;

    @Gin(x1);@Gin(x2);

     end

    其中函数@Gin(x)设置x 为整型变量.

    运行结果如下:

    如何利用Lingo进行整数规划
  3. 2
    相关内容非法爬取自百度经验
  4. 3

    结果显示:当派出A 型车5 辆,B 型车2 辆时可以使运输成本最低. 最低成本为2400 元.

    END

注意事项

  • 如果对于不同版本的Lingo,其求解操作过程可能有细微的不同,请您自行加以调整。
  • 师者,所以传道受业解惑也。人非生而知之者,孰能无惑?惑而不从师,其为惑也,终不解矣。如对您有帮助,请不吝点击投票转发,如您有任何疑问或建议,请留言评论。
经验内容仅供参考,如果您需解决具体问题(尤其法律、医学等领域),建议您详细咨询相关领域专业人士。
作者声明:本篇经验系本人依照真实经历原创,未经许可,谢绝转载。
展开阅读全部