问题实例 :在制造企业的中期或短期生产计划管理中,常常要考虑如下的生产计划优化问题: 在给定的外部需求和生产能力等限制条件下,按照一定的生产目标(通常是生产总费用 最小)编制未来若干个生产周期的最优生产计划,这种问题在文献上一般称为批量问题 (lotsizing problems)。所谓某一产品的生产批量(lotsize),就是每通过一次生产准备生 产该产品时的生产数量,它同时决定了库存水平。由于实际生产环境的复杂性,如需求 的动态性,生产费用的非线性,生产工艺过程和产品网络结构的复杂性,生产能力的限 制,以及车间层生产排序的复杂性等,批量问题是一个非常复杂、非常困难的问题。 我们通过下面的具体实例来说明这种多级生产计划问题的优化模型。这里“多级” 的意思是需要考虑产品是通过多个生产阶段(工艺过程)生产出来的

例 1  某工厂的主要任务是通过组装生产产品 A,用于满足外部市场需求。产品 A 的构成与组装过程见图 1,即 D , E,F,G 是从外部采购的零件,先将零件 D,E 组装成部件B ,零件 F,G 组装成部件C ,然后将部件 B,C 组装成产品 A出售。图中弧上的
数字表示的是组装时部件(或产品)中包含的零件(或部件)的数量(可以称为消耗系 数),例如DB弧上数字“9”表示组装 1 个部件B 需要用到 9 个零件D;BA弧上的 数字“5”表示组装 1 件产品 A需要用到 5 个部件B ;依此类推。

假设该工厂每次生产计划的计划期为 6 周(即每次制定未来 6 周的生产计划),只 有最终产品 A有外部需求,目前收到的订单的需求件数按周的分布如表 1 第 2 行所示。 部件  B,C 是在该工厂最关键的设备(可以称为瓶颈设备)上组装出来的,瓶颈设备的生产能力非常紧张,具体可供能力如表1第3行所示(第2周设备检修,不能使用)。 B,C的能力消耗系数分别为 5 和 8,即生产 1 件B 需要占用 5 个单位的能力,生产 1 件C 需 要占用 8 个单位的能力。

对于每种零部件或产品,如果工厂在某一周订购或者生产该零部件或产品,工厂 需要一个与订购或生产数量无关的固定成本(称为生产准备费用);如果某一周结束时该零部件或产品有库存存在,则工厂必须付出一定的库存费用(与库存数量成正比) 。 这些数据在表 1 第 5 、6 行给出。

按照工厂的信誉要求,目前接收的所有订单到期必须全部交货,不能有缺货;此外,不妨简单地假设目前该企业没有任何零部件或产品库存,也不希望第 6 周结束后留下任何零部件或产品库存。最后,假设不考虑生产提前期,即假设当周采购的零件马上 就可用于组装,组装出来的部件也可以马上用于当周组装成品 A。 在上述假设和所给数据下,如何制定未来 6 周的生产计划。

2  建立模型

(1)问题分析

这个实例考虑的是在有限的计划期内,给定产品结构、生产能力和相关费用及零 部件或成品(以下统称为生产项目)在离散的时间段上(这里是周,也可以是天、月等) 的外部需求之后,确定每一生产项目在每一时间段上的生产量(即批量),使总费用最 小。由于每一生产项目在每一时间段上生产时必须经过生产准备(setup),所以通常的 讨论中总费用至少应考虑生产准备费用和库存费用。其实,细心的读者一定会问:是否需要考虑生产的直接成本(如原材料成本、人力成本、电力成本等)?这是因为本例中 假设了不能有缺货发生,且计划初期和末期的库存都是 0,因此在这个 6 周的计划期内 A的总产量一定正好等于 A的总需求,所以可以认为相应的直接生产成本是一个常数, 因此就不予考虑了。只要理解了我们下面建立优化模型的过程和思想,对于放松这些假 定条件以后的情形,也是很容易类似地建立优化模型的。

(2)符号说明

为了建立这类问题的一般模型,我们定义如下数学符号:

N :生产项目总数(本例中 N =7);

T :计划期长度(本例中 T =6) ;

K :瓶颈资源种类数(本例中 K =1 );

M :一个充分大的正数,在模型中起到使模型线性化的作用;

 :项目i在t时段的外部需求(本例中只有产品 A有外部需求);

 :项目i在t时段的生产批量;

 :项目i在t时段的库存量;

 :项目i在t时段是否生产的标志(0:不生产,1:生产);

 :产品结构中项目i的直接后继项目集合;

 :产品结构中项目 j 对项目i的消耗系数;

 :项目i在t时段生产时的生产准备费用;

  :项目i在t时段的单件库存费用;

 :资源k 在t时段的能力上限;

 :项目i在t时段生产时,生产单个项目占用资源k 的能力;

(3)目标函数

这个问题的目标是使生产准备费用和库存费用的总和最小。因此,目标函数应该 是每个项目在每个阶段上的生产准备费用和库存费用的总和,即

                                 ( 1 )

(4)约束条件

这个问题中的约束有如下几类:每个项目的物流应该守恒、资源能力限制应该满足、每时段生产某项目前必须经过生产准备和非负约束(对  是  0− 1约束)。 所谓物流守恒,是指对每个时段、每个项目(图中一个节点)而言,该项目在上一个时段的库存量加上当前时段的生产量,减去该项目当前时段用于满足外部需求的量 和用于组装其它项目(直接后继项目)的量,应当等于当前时段的库存量。具体可以写成如下表达式(假设 ):

                       ( 2 )

资源能力限制比较容易理解,即

                      ( 3 )

3  求解模型

MODEL:
TITLE 瓶颈设备的多级生产计划;
SETS:
! PART=项目集合,Setup=生产准备费,Hold=单件库存成本,   A=对瓶颈资源的消耗系数;
PART/A B C D E F G/:Setup,Hold,A;
! TIME=计划期集合,Capacity=瓶颈设备的能力;
TIME/1..6/:Capacity;
! USES=项目结构关系,Req=项目之间的消耗系数;
USES(PART,PART):Req;
! PXT=项目与时间的派生集合,Demand=外部需求,   X=产量(批量), Y=0/1变量,INV=库存; PXT(PART,TIME):Demand,X,Y,Inv;
ENDSETS
! 目标函数;
[OBJ]Min=@sum(PXT(i,t):setup(i)*Y(i,t)+hold(i)*Inv(i,t));
! 物流平衡方程;
@FOR(PXT(i,t)|t #NE#
1:[Bal]Inv(i,t-1)+X(i,t)-Inv(i,t)=Demand(i,t)+@SUM(USES(i,j):Req( i,j)*X(j,t))); @FOR(PXT(i,t)|t #eq#
1:[Ba0]X(i,t)-Inv(i,t)=Demand(i,t)+@SUM(USES(i,j):Req(i,j)*X(j,t) ));
! 能力约束;
@FOR(TIME(t):[Cap]@SUM(PART(i):A(i)*X(i,t))<Capacity(t));
! 其他约束;
M = 25000;
@FOR(PXT(i,t):X(i,t)<=M*Y(i,t));
@FOR(PXT:@BIN(Y));
DATA:
Demand=0;Req =0;
Capacity=10000 0 5000 5000 1000 1000;
Setup=400 500 1000 300 200 400 100;
Hold=12 0.6 1.0 0.04 0.03 0.04 0.04;
A=0 5 8 0 0 0 0;
ENDDATA
CALC:
demand(1,1)=40;demand(1,3)=100;
demand(1,5)=90;demand(1,6)=10;
req(2,1)=5;req(3,1)=7;req(4,2)=9;
req(5,2)=11;req(6,3)=13;req(7,3)=15;
ENDCALC
END

习题:

1.某农户拥有 100 亩土地和 25000 元可供投资,每年冬季(9 月中旬至来年 5 月 中旬),该家庭的成员可以贡献 3500h 的劳动时间,而夏季为 4000h。如果这些劳动时 间有富裕,该家庭中的年轻成员将去附近的农场打工,冬季每小时 6.8 元,夏季每小时 7.0 元。

现金收入来源于三种农作物(大豆、玉米和燕麦)以及两种家禽(奶牛和母鸡)。 农作物不需要付出投资,但每头奶牛需要 400 元的初始投资,每只母鸡需要 3 元的初始 投资。每头奶牛需要使用 1.5 亩土地,并且冬季需要付出 100h 劳动时间,夏季付出 50h 劳动时间,每年产生的净现金收入为 450 元;每只母鸡的对应数字为:不占用土地,冬 季 0.6h,夏季 0.3h,年净现金收入 3.5 元。养鸡厂房最多只能容纳 3000 只母鸡,栅栏 的大小限制了最多能饲养 32 头奶牛。

根据估计,三种农作物每种植一亩所需要的劳动时间和收入如表 11 所示。建立数 学模型,帮助确定每种农作物应该种植多少亩,以及奶牛和母鸡应该各蓄养多少,使年净现金收入最大。

2.如图 4,有若干工厂的排污口流入某江,各口有污水处理站,处理站对面是居 民点。工厂 1 上游江水流量和污水浓度,国家标准规定的水的污染浓度,以及各个工厂 的污水流量和污水浓度均已知道。设污水处理费用与污水处理前后的浓度差和污水流量 成正比,使每单位流量的污水下降一个浓度单位需要的处理费用(称处理系数)为已知。 处理后的污水与江水混合,流到下一个排污口之前,自然状态下的江水也会使污水浓度降低一个比例系数(称自净系数),该系数可以估计。试确定各污水处理站出口的污水 浓度,使在符合国家标准规定的条件下总的处理费用最小。

先建立一般情况下的数学模型,再求解以下的具体问题:

(1)为了使江面上所有地段的水污染达到国家标准,最少需要花费多少费用?

(2)如果只要求三个居民点上游的水污染达到国家标准,最少需要花费多少费 用?

有瓶颈设备的多级生产计划问题相关推荐

  1. SAP 主生产计划(MPS)

    制造业涉及的有关物料计划一般可以分为三种:综合计划.主生产计划.与物料需计划.结合计划是企业在较长一段时间内对需求与资源之间的平衡所做的概括性假设. 一.什么是MPS?MPS处于计划中什么样的地位?它 ...

  2. 生产计划到底该怎样改进?这6点帮你节省至少60%的计划时间

    生产计划贯穿了价值创造的全过程:从概念到投产的设计过程.从订货到送货的信息流通处理过程.从原材料到产成品的物质转换过程以及全生命周期的支持和服务过程,涉及每一个部门,每一个人. 生产计划管理就是计划调 ...

  3. 一文带你了解APS生产计划排程系统

    很多中小企业的生产特点为多品种.小批量.对于多品种.小批量生产模式的企业,生产计划排程是个难题,因为品种多,计算量大,而批量小又会导致换线频繁.您的企业是否遇到以下困扰:资源利用率太低.频繁的计划变更 ...

  4. 基于SSM生产计划排程管理系统

    项目下载地址:https://download.csdn.net/download/qq_36388734/11390210 ** 欢迎下载 ** 第1章作业车间调度问题 1.1问题的描述 作业车间调 ...

  5. 生产排程系统_生产计划排程APS系统中排产算法的探讨

    点击上方 MES百科 关注我们 e-works鼓励原创,如需投稿请参看首页"原创投稿"说明. ✎导 读 生产计划排程既有相对简单的算法,例如,最短交货期算法,最短工序算法等,也有复 ...

  6. APS生产计划排程系统解决方案,在制造企业中有哪些作用?

    APS高级计划与排程系统不能解决制造企业所有的问题,比如产能不足.供应商不能按期交货.现场设备异常.订单变更插单等等,这些问题长期困扰着制造企业,生产计划部门常常处于救火状态.很多人会认为,APS计划 ...

  7. 生产计划为何难实施?

    01 为什么战略管理在中小企业没什么大作用? 因为工厂变化太快,企业市场话语权太小,必须跟着市场走,所以中小企业的制胜之道不是布局.战略,而是快速应变! 大学里讲的计划模式完全靠计算,这在中小企业行不 ...

  8. 基于SSM的生产计划排程管理系统

    项目下载地址:https://download.csdn.net/download/qq_36388734/11390210 ** 欢迎下载 ** 第1章作业车间调度问题 1.1问题的描述 作业车间调 ...

  9. 解决生产计划排程APS系统七大问题,提升企业生产效率!

    生产计划排程是个很复杂的问题,特别是对多品种.小批量的离散型生产.自动排程软件,即高级计划排程软件,英文简称是APS(Advanced Planning and Scheduling).APS软件在中 ...

最新文章

  1. Android解惑 - 为什么要用Fragment.setArguments(Bundle bundle)来传递参数
  2. centos下升级glib
  3. 操作对象_DOM进阶——HTML属性操作(对象属性)
  4. 虚拟机系列 | JVM运行时数据区
  5. 八大妙招:改善企业网络安全
  6. java web 开发分层
  7. 判断一个点是否在多边形区域内
  8. 安全合规/法案--36--《个人信息保护法》原文及解读
  9. c语言常用基础代码大全,C语言基础入门必读
  10. 精通Flink项目优化(一.资源配置调优)
  11. ZYNQ EMMC/FLASH/SD卡硬件性能测试
  12. 计算机exce常用功能,excel表格的基本操作 电脑基本操作知识(办公室常用).doc
  13. 统计推断——假设检验——线性回归——R的平方可以为负数
  14. springboot+thymeleaf实现邮件群发
  15. Go语言基础数据类型所占内存大小
  16. 奥克兰oracle,IEM奥克兰前瞻: 顶级战队决战甲骨文中心
  17. Git - 团队合作利器 Branch 与 Git Flow
  18. ubuntu20.04 屏幕共享打不开
  19. Sublime Text 下载-设置切换中文版
  20. ERROR : Error appeared during Puppet run: 192.168.1.201_mariadb.pp

热门文章

  1. SQLAlchemy学习教程
  2. java任意长度获取随机数
  3. 线程中断:interrupt、interrupted、isInterrupted
  4. MMA-Mathematica初步了解和使用-MMA
  5. 线性回归中的L1与L2正则化
  6. oracle配DISPLAY,ORACLE安装DISPLAY变量设置
  7. 手撸Spring系列8:Spring AOP(理论篇)
  8. 关于环境变量的理解,maven有没有必要配置MAVEN_HOME或M2_HOME,tomcat一定要设置JAVA_HOME环境变量吗
  9. Linux内核分析 期中总结
  10. 医疗影像MRI相关软件