凯鲁嘎吉 - 博客园

http://www.cnblogs.com/kailugaji/

造纸厂接到定单,所需卷纸的宽度和长度如表

卷纸的宽度

长度

5

7

9

10000

30000

20000

工厂生产1号(宽度10)和2号(宽度20)两种标准卷纸,其长度未加规定。现按定单要求对标准卷纸进行切割,切割后有限长度的卷纸可连接起来达到所需卷纸的长度。问如何安排切割计划以满足定单需求而使切割损失最小?

解:为了满足定单要求和使切割损失最小,我们可以使用多种切割方法来进行组合。此时,我们不但要考虑对两种标准卷纸的宽度如何进行切割,而且还要确定按某一种方式切割时标准卷纸所耗用的长度。

例如,可以把宽10的1号标准卷纸切割成宽5的卷纸2卷,根据定单要求,此时需1号标准卷纸5000单位长度,与此同时,把宽度20的2号标准卷纸切割成宽度7和宽度9的卷纸各1卷,此时为满足定单要求,需2号标准卷纸30000单位长度。按此切割方案,宽度9的卷纸多生产10000单位长度,因此,切割损失的面积为(20-7-9) ×30000+9×10000。

设xij为第i号标准卷纸按第j种方式切割时所耗用的长度。

各种可能的切割方式及切割损失宽度由下表给出(每种方式所产生的切割损失宽度应小于5)。

                                            

按这9种切割方式,宽度9的卷纸所得长度为

    x13+x23+x25+2x26。

令  xl=x13+x23+x25+2x26-20000,则宽度9、长度x1的卷纸再可切割成宽度5(切割损失宽度4)或宽度7(切割损失宽度2)的卷纸设它们的长度分别为x2及x3

现在切割所得宽度7的卷纸其长度为

    x12+x22+2x24+x25+x3

令    x4=x12+x22+2x24+x25+x3-30000,则宽度7、长度x4的卷纸又可切割成宽度5的卷纸(切割损失宽度2)。

在上述切割方式组合的条件下,宽度5的卷纸其所得长度为

    2xll+4x21+2x22+2x23+x24+x2+x4

令    x5=2x11+4x21+2x22+2x23+x24+x2+x4-10000

我们应注意到,4x2,2x3,2x4,5x5都为卷纸的切割损失面积。从而,总的切割损失面积

    f=3x12+x13+3x22+x23+x24+4x25+2x26+4x2+2x3+2x4+5x5

于是,我们得本问题的线性规划模型:

    minf=3x12+x13+3x22+x23+x24+4x25+2x26+4x2+2x3+2x4+5x5

 s.t. 2x11+4x21+2x22+2x23+x24+x2+x4- x5=10000

             x12+x22+2x24+x25+x3- x4=30000

             x13+x23+x25+2x26- x1=20000

            x2+x3=x1,

            xlj≥0,  j=1,2,3

            x2j≥0,  j=1,…,6

            xj≥0,  j=1,…,5

Lingo程序:

  1. min=3*x12+x13+3*x22+x23+x24+4*x25+2*x26+2*x3+5*x5+4*x2+2*x4;
  2. 2*x11+4*x21+2*x22+2*x23+x24+x2+x4-x5=10000;
    x12+x22+2*x24+x25+x3-x4=30000;
    x13+x23+x25+2*x26-x1=20000;
    x2+x3=x1;
  3. end

结果为:

  1. Global optimal solution found.
  2. Objective value: 60000.00
  3. Infeasibilities: 0.000000
  4. Total solver iterations: 1
  5.  
  6. Variable Value Reduced Cost
  7. X12 0.000000 0.000000
  8. X13 0.000000 0.000000
  9. X22 0.000000 10.00000
  10. X23 0.000000 10.00000
  11. X24 10000.00 0.000000
  12. X25 0.000000 0.000000
  13. X26 15000.00 0.000000
  14. X3 10000.00 0.000000
  15. X5 0.000000 0.000000
  16. X2 0.000000 10.00000
  17. X4 0.000000 10.00000
  18. X11 0.000000 10.00000
  19. X21 0.000000 20.00000
  20. X1 10000.00 0.000000
  21.  
  22. Row Slack or Surplus Dual Price
  23. 1 60000.00 -1.000000
  24. 2 0.000000 5.000000
  25. 3 0.000000 -3.000000
  26. 4 0.000000 -1.000000
  27. 5 0.000000 1.000000

Lingo求解线性规划案例4——下料问题的更多相关文章

  1. Lingo求解线性规划案例1——生产计划问题

    凯鲁嘎吉 - 博客园 http://www.cnblogs.com/kailugaji/ 说明: Lingo版本:                            某工厂明年根据合同,每个季度末 ...

  2. Lingo求解线性规划案例3——混料问题

    凯鲁嘎吉 - 博客园 http://www.cnblogs.com/kailugaji/  某糖果厂用原料A.B和C按不向比率混合加工而成甲.乙.丙三种糖果(假设混合加工中不损耗原料).原料A.B.C ...

  3. Lingo求解线性规划案例2——多阶段投资问题

     凯鲁嘎吉 - 博客园 http://www.cnblogs.com/kailugaji/ 某公司现有资金30万元可用于投资,5年内有下列方案可供采纳:   1号方案:在年初投资1元,2年后可收回1. ...

  4. 用Lingo求解线性规划问题

    第一步:输入目标条件和约束条件.每行以分号隔开.然后点击工具栏上的Solve按钮,或Lingo菜单下的Solve子菜单. 第二步:检查report中的结果. 默认情况下,Lingo不进行灵敏度分析. ...

  5. 图论中最优树问题的LINGO求解

    树:连通且不含圈的无向图称为树.常用T表示.树中的边称为树枝,树中度为1的顶点称为树叶. 生成树:若T是包含图G的全部顶点的子图,它又是树,则称T是G的生成树. 最小生成树:设T=(V,E1)是赋权图 ...

  6. 钢管下料问题2(剩余材料最少)lingo求解

    大家好,我是小鸭酱,博客地址为:http://www.cnblogs.com/xiaoyajiang !钢管下料问题2(剩余材料最少) 题目: 钢管原料   每根19m 客户需求   4m   50根 ...

  7. 钢管下料问题(钢管用量最少)Lingo求解

    大家好,我是小鸭酱,博客地址为:http://www.cnblogs.com/xiaoyajiang !钢管下料问题1(钢管用量最少) 题目: 钢管原料   每根19m 客户需求   4m   50根 ...

  8. matlab学习笔记之求解线性规划问题和二次型问题

    一.线性规划问题 已知目标函数和约束条件均为线性函数,求目标函数的最小值(最优值)问题. 1.求解方式:用linprog函数求解 2.linprog函数使用形式: x=linprog(f,A,b)  ...

  9. matlab 求解线性规划问题

    线性规划 LP(Linear programming,线性规划)是一种优化方法,在优化问题中目标函数和约束函数均为向量变量的线性函数,LP问题可描述为: minf(x):待最小化的目标函数(如果问题本 ...

随机推荐

  1. Haskell复习笔记(一)

    Haskell笔记这是第三次总结,前两次都因为各种原因丢失了,对于Haskell我算不上什么大神,只不过在大学时为了学习算法时选择了Haskell. 当时的入门书籍选择的是<Learn You ...

  2. C#与C++数据类型比较及结构体转换[整理]

    //c++:HANDLE(void   *)                          ----    c#:System.IntPtr//c++:Byte(unsigned   char)  ...

  3. MySQL分页查询性能优化

    当需要从数据库查询的表有上万条记录的时候,一次性查询所有结果会变得很慢,特别是随着数据量的增加特别明显,这时需要使用分页查询.对于数据库分页查询,也有很多种方法和优化的点.下面简单说一下我知道的一些方 ...

  4. mysql中union 查询

    UNION ALL只是简单的将两个结果合并后就返回.这样,如果返回的两个结果集中有重复的数据,那么返回的结果集就会包含重复的数据了. 从效率上说,UNION ALL 要比UNION快很多,所以,如果可 ...

  5. C++中的stack类、QT中的QStack类

    C++中的stack 实现一种先进后出的数据结构,是一个模板类. 头文件 #include<stack> 用法(以int型为例): stack <int> s; //定义一个i ...

  6. Flask 系列之 Bootstrap-Flask

    说明 操作系统:Windows 10 Python 版本:3.7x 虚拟环境管理器:virtualenv 代码编辑器:VS Code 实验目标 通过使用 Bootstrap-Flask 来进行页面美化 ...

  7. 借鉴Glide思想二次封装Fresco

    本篇文章已授权微信公众号 dasu_Android(大苏)独家发布 最近封装了个 Fresco 的组件库:DFresco,就顺便来讲讲. 背景 Fresco 图片库很强大,我们项目中就是使用的 Fre ...

  8. Python mysql 创建连接

    安装 pymysql 模块 pip3 install pymysql # python2, 默认无 pip 命令 # python3, 默认自带 pip3 命令 mysql基本操作 # 导入 pymy ...

  9. BZOJ2199: [Usaco2011 Jan]奶牛议会(2-SAT)

    Time Limit: 10 Sec  Memory Limit: 259 MBSubmit: 559  Solved: 360[Submit][Status][Discuss] Descriptio ...

  10. 我写的.net相关的文章

    此文正在更新中... 广州.net俱乐部相关 复活广州.net俱乐部 office365的开发者训练营,免费,在微软广州举办 被低估的.net(上) - 微软MonkeyFest 2018广州分享会活 ...