目录
一、综合计划在供应链中的作用
二、综合计划的基本权衡
三、利用线性规划制订综合计划
1.综合产品单位的确定
2.MoonLight公司的需求和成本
3.MoonLight公司综合计划的线性规划模型
4.粗略主生产计划的制定
四、利用Java和Cplex制定综合计划
五、软件在综合计划中的作用
一、综合计划在供应链中的作用
综合计划(aggregate planning)是指企业决定一段特定时间范围内产能、生产、转包、库存、缺货甚至定价的计划水平以实现利润最大化的过程。综合问题可以正式表述如下:
在计划期内每个时期的需求预测给定的情况下,决定在计划期内可以最大化企业利润的各期生产水平、库存水平、产能水平(内部和外包)以及延期交货量(未满足的需求)。
综合计划是关于全局的综合性的决策,而不是关于最小库存单位(SKU)层面的决策。
为了有效,综合计划需要来自供应链所有环节的信息,并且综合计划的结果会对供应链的绩效产生重大影响。
要制订综合计划,企业必须明确规定综合计划的计划期。计划期(planning horizon)是指计划的时间跨度,综合计划需要确定在该时间范围内的解决方案。综合计划的计划期通常为3~18个月。企业还必须明确计划期内的每个时期的持续时间(比如周、月或季度)。通常综合计划采用月或季度作为计划的时间单位。然后企业还需要确定制定综合计划和做出决策所需的关键信息。
综合计划制定者需要了解以下信息:
-计划期(计划期的时间跨度为T个周期)内每个时期t的综合需求预测Ft。
-生产成本,包括:①正常人工成本和加班人工成本。②转包生产成本。③产能变更成本,具体包括招聘或解雇劳动力的成本和增加或减少设备产能的成本。
-单位产品需要的劳动力/设备工时。
-库存持有成本。
-缺货或延期交货的成本。
-约束,包括:①加班的限制②解雇的限制③可用资本的限制④缺货和延期交货的限制⑤供应商引起的约束。
使用这些信息,企业可以通过综合计划做出以下决定:
-正常工作时间、加班工作时间和转包的生产量:用来确定员工数量和供应商采购水平。
-持有库存:用来确定仓储空间和所需的营运资金。
-缺货或延期交付的数量:用来确定顾客服务水平。
-雇佣/解雇劳动力数量:用来确定可能遇到的劳动力问题。
-设备产能的增加/减少:用来确定是否需要购买新的生产设备或者现有设备是否会闲置。
因此,在供应链中尽可能大的范围内共同制定综合计划是十分重要的:与下游伙伴一起进行预测,与上游合作伙伴一起确定约束因素,与任何其他供应链参与方合作以提高综合计划输入信息的质量。
二、综合计划的基本权衡
综合计划制定者必须在产能成本、库存成本和延期交货成本之间进行权衡。三者通常不可同时兼得,某种成本的增加通常会使另外两种成本减少。由于需求随着时间的变化,上述三种成本的相对水平会使得其中的一项成本成为计划制定者实现利润最大化的关键杠杆。因此,计划制定者要进行的基本权衡如下:
-产能(正常工作时间、加班工作时间和转包)
-库存
-延期交货/不能及时交货导致的失售
为了在三种成本之间实现平衡,通常可以采取三种不同的综合计划策略,这些策略涉及资本投资、员工成本、工作时间、库存以及延期交货/失售之间的权衡。三种策略如下:
1.追赶策略——将产能作为杠杆:在该策略下,当需求水平发生变化时,通常通过调整设备产能或者雇佣/解雇劳动力,使生产率与需求率保持同步。在实践中,因为在短时间内很难改变产能和劳动力规模,所以实现这种同步存在困难。若随时间改变设备和劳动力产能的成本比较高,那么这一策略的实施成本会比较高,并且会对员工士气产生影响。追赶策略下,供应链库存水平较低,产能和劳动力数量变动水平较高。因此追赶策略适用于库存成本较高,而设备和劳动力产能变动成本较低的情况。
2.柔性策略——将利用率作为杠杆:如果存在过剩的设备产能并且劳动力安排具有灵活性时,适合采用这一策略。在这种情况下,劳动力(产能)保持稳定,而员工工作小时数随时间发生变化,以使生产与需求保持同步。计划制订者可以利用不同的加班时长和灵活的排班来实现这种同步。尽管该策略需要劳动力需要具有一定的灵活性,但它避免了追赶策略中可能发生的一些问题,尤其是改变劳动力规模这一问题。在这一策略下,库存水平较低,但生产设备的平均利用率较低。当库存成本相对较高而设备产能成本相对较低时,应当采用柔性策略。
3.均衡策略——将库存作为杠杆:在这种策略下,产出率维持不变,设备产能和劳动力保持稳定。产品短缺和过剩会导致库存水平随时间改变。在这种情况下,生产与需求并不同步,而是根据需求预测建立库存,或将旺季需求延期至淡季交货。被雇佣者享受着稳定的工作环境。这一策略的缺点在于可能会积累大量的库存,顾客订单可能被延迟。这一策略保持产出均衡,因此改变产能的成本相对较低,适用于库存持有成本和延期交货成本相对较低的情况。
在实践中,计划制订者最有可能采取定制或混合策略,将上述所有三种方法结合起来使用。
三、利用线性规划制订综合计划
由于综合计划的目标是在满足供应链约束的前提下实现利润最大化,所以线性规划是一种有效的建模和求解综合计划问题的方法。我们将通过MoonLight公司的例子来说明制定综合计划的方法。
1.综合产品单位的确定
制定综合计划重要的第一步是,识别合适的综合产品单位。在总量水平上制定计划时,重要的是必须按照某种方式来识别计划中的综合产品单位,即保证在制订最终的主生产计划时,综合计划的结果能够大致反应在实践中可以完成的工作。由于瓶颈可能是在任何制造设施中最受制约的环节,因此在选择综合产品单位、确定产能和生产时间时需要特别关注瓶颈环节。在评估生产时间时,考虑调整准备和维护等活动也同样重要,这些活动损耗产能但不会带来任何产出。否则,综合计划将会高估可用产能,从而在实践中无法实施该计划。
MoonLight公司在其制造工厂生产六种产品。具体数据如下表所示。
在上表中,单位产品净生产时间等于分摊到每单位产品的调整准备时间与单位产品生产时间之和(调整准备时间/平均批量+单位产品生产时间)。因此,产品A的单位产品净生产时间为8/50+5.6=5.76小时。
定义综合产品单位的一种简单方法是基于每种产品占销售量百分比的加权平均来确定。如果管理者对每种产品占总销售量的比例把握的相对准确,且工厂中所有产品使用的资源大致相同,那么这种方法尤为适用。利用这种方法,计算出没见综合产品单位的材料成本为10美元,没见综合产品单位的收入为40美元,单位净生产时间为4小时。
其他可能试用的综合产品单位还有产出吨数(可适用于流程式连续性生产的产品)或销售额。
2.MoonLight公司的需求和成本
顾客对该公司的需求具有很强的季节性,为了通过综合计划确定最优选择方法,该公司选择了首先进行需求预测。下面是这一公司的预测结果,重要的是,这一需求预测考虑到了预期销售的产品组合,并且是以前面定义过的综合产品单位来给出的。
公司以每件(假定的综合单位产品)40美元的价格出售给顾客。公司在1月初始库存为1000件,1月初公司员工80名。工厂每月工作20天,每名员工在正常工作时间的工资为每小时4美元。每名员工每天工作时间为8小时,其余为加班时间。产能主要是由员工总的劳动时间决定,因此设备产能不是限制生产运作能力的因素。下表为各种成本,注意,成本和劳动时间都是以前面讨论过的综合产品单位来衡量的。
目前,公司在转包、库存和缺货/延期交货方面没有约束。所有缺货都被延期交货,由后续月份生产出来的产品来满足。月末库存将引起库存成本。供应链管理者的目标是,制定一个最优的综合计划,使6月底至少有500单位库存。
最优的综合计划应是能使公司在6个月内获得最大利润的计划。目前,考虑到公司希望实现较高的顾客服务水平,假设所有需求都被满足,尽管有些可能是通过延期交货得以满足的。因此计划期内获得的收入是固定的。那么,在计划期内成本最小化也就意味着利润最大化。在很多情况下,企业可以选择不满足某些需求,或者价格本身也是企业基于综合计划来确定的一个变量。在这种情况下,最小化成本并不等于最大化利润。
3.MoonLight公司综合计划的线性规划模型
决策变量 建立综合计划模型的第一步是确定一组决策变量,确定这些变量值也属于综合计划的一部分。综合计划的模型的决策变量定义如下:
目标函数 Dt表示时期t的需求,Dt的值为上面的需求预测值。目标函数是使计划期内的总成本最小化(等同于利润最大化,因为所有需求都将被满足)。发生的成本包括以下几部分:
-正常工作时间的劳动力成本
-加班时间的劳动力成本
-雇佣和解雇成本
-库存持有成本
-缺货成本
-转包成本
-原材料成本
上面成本计算如下:
1.正常工作时间的劳动力成本。员工正常工作时间的劳动工资是每月640美元,因为时期t的员工数量为Wt,所以计划期内正常工作时间的劳动力成本由下式得出:
2.加班时间的劳动力成本。加班时间的劳动力成本是每小时6美元,Ot代表时期t的加班工时,因此计划期内加班时间的劳动力成本为:
3.雇佣和解雇成本。雇佣一名员工的成本是300美元,解雇一名员工的成本是500美元,Ht和Lt分别代表时期t雇佣和解雇员工的数量,因此雇佣和解雇成本为:
4.库存持有和缺货成本。库存持有成本是每月每单位2美元,缺货成本是每月每单位5美元,It代表时期t库存单位数,St代表时期t的缺货单位数。因此,库存持有和缺货成本为:
5.原材料和转包成本。原材料成本是每单位10美元,转包的成本是每单位30美元,Pt代表时期t的生产量,Ct代表时期t转包的数量。因此,原材料和转包成本为:
计划期发生的总成本是上述所有成本之和,计算公式为:
MoonLight公司的目标是,找出一个能使计划期内发生的总成本最小化的综合计划。
目标函数中决策变量的取值不能任意设定,而是受制于由现有产能和运作政策所定义的各种约束条件。建立综合计划的下一步是明确定义决策变量的约束条件。
约束条件 现在,公司必须明确决策变量不能违背的约束条件。
1.员工数量、雇佣和解雇数量的约束。时期t的员工数量Wt由时期t-1的员工数量Wt-1加上时期t雇佣的员工数量Ht,再减去时期t解雇的员工数量Lt得到:
2.产能约束。每个时期的生产量都不能超过现有的产能。这一约束将总产量限制再企业内部总的可获产能之内(内部可获产能取决于可用劳动时间,包括正常工作时间和加班时间)之内。转包生产的数量不在这一约束范围内,因为该约束仅针对工厂内部的生产。因为每个工人每月的正常工作时间可以生产40单位产品,在加班时间每4小时生产1单位产品,因此可以得到:
3.库存余额约束。第三个约束因素是每期期末的库存余额。时期t的净需求为当期的需求Dt与上一期的延期交货量St-1之和。时期t的净需求可以由当期生产(内部生产Pt或转包Ct)和上一期的库存It-1(在这种情况下,库存It可能有剩余)来满足,或者也可以将一部分需求St延期交付。这个关系由下面的等式表达。
4.加班时间约束。第四个约束要求工人每月加班时间不得超过10小时,这一要求将可用加班总时数限制如下:
此外,每个变量必须为非负,在第6期期末必须没有产品延期交付(S6=0)。
根据约束条件对目标函数进行优化后,得到综合计划如下表所示,具体算法见下篇文章。
由于该综合计划得到计划期总成本如下:
计划期总成本=422660(美元)
公司在1月初解雇了16名员工,此后该公司始终保持员工数量和生产水平不变,在4月进行了转包生产。4月有部分订单延期至5月交货。在其他月份中,都没有缺货。实际上,公司在其他时期都持有库存。我们将这种库存描述为季节性库存,因为他是在预期未来需求增加的情况下持有的。
如果需求的季节性波动加剧,供给与需求保持同步更加困难,从而导致库存或延期交货增加,进而使得供应链的总成本增加。
4.粗略主生产计划的制定
计划制定者必须根据综合计划,对所获得的可用信息进行细化和分解,制定一个粗略的主生产计划(MPS),以确定每种产品在每个时期的生产批量。下面介绍一种对综合计划进行细化和分解的简单方法。如果计划制定者想寻求更好的方案,可以使用更加复杂的方法(Bitran and Hax,1981)。但是,这种方法难以实施,且可能无法反应所有的复杂显示状况。基
以第一期为例,该计划要求第1期劳动力数量为64名,共生产2560综合产品单位。在总量水平上,这个产量约束时可行的。但是,需要检验在产品任务分解后,产量约束是否可行。第一步是根据每种产品占预期总销售量的百分比将2560单位产量分解给六种产品。第二步是确定每种产品的计划批次。为了使计划可行,用计划产量除以平均批量,然后向下取整,就可以得到该产品的计划生产批次。为了检验该计划安排的可行性,还计算了调整准备时间、计划批次数的生产时间以及每种产品的产量。如下表所示,计划安排看起来是可行的。
四、利用Java和Cplex制定综合计划
关于这部分的算法,请见下篇文章,后面还会有专题介绍高级计划和排程系统的思路与和算法,并以几个传统行业为例说明其中的不同。
五、软件在综合计划中的作用
综合计划可以说是最早使用软件的供应链领域。最早的供应链软件产品使综合计划模块,通常称作工厂计划、生产计划或制造计划。一些早期的模块值关注在满足需求和可用产能的约束条件下生成可行的生产计划。后来的模块能够提供一些有效工具,可以基于提高产出或降低成本等目标从可行的生产计划中选出最优解方案。
这些经典的解决方案通常将综合计划问题建模为线性规划,从中得到各个时期产品的生产计划。现在,因为考虑到并不是所有约束或合理的目标函数都是线性的,一些计划模块也包括了非线性优化。但是,由于在编制综合计划的过程要考虑大量数据,且可用线性逼近方法将非线性问题转化为线性问题来求近似解,因此线性规划通常是解决这类问题的最好方法。
许多软件供应商(如SAP和甲骨文)都提供APS帮助企业制定综合计划。使用APS的最大挑战是,相对于输入而言,输出的结果相当不稳定。需求等输入的微小变化可能产生与原计划完全不同的新的最优计划。如果计划变得很不稳定,那么整个供应链很快就会质疑这些计划,从而事实上使这些计划流于形式,毫无用处。因此重要的是确保随着新数据的引入,在确保一定程度的稳定性的同事,对计划进行修改。
要充分发挥APS软件的作用,数据的准确性是关键。如果APS软件中使用的提前期或产能等数据与实际情况不符,那么生成的综合计划可能导致顾客的不满和高成本。因此跟踪这些参数的准确性非常重要,并且要确保由专人对这些输入信息负责。