已阅读5页,还剩13页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
制砖机生产计划制砖机生产计划 摘要摘要 某重型机械厂给出了其 2011 年上半年的销售预测情况 要求在成本波动的 情况下制定出上半年的生产计划 使利润最大 本文针对是否对该厂月生产能 力进行限制 分别构建相应的目标函数和约束条件 并通过转化为动态规划模 型结合 MATLAB 编程 求得不同条件下的最优生产计划 问题一 在生产能力没有限制的情况下 考虑到销售额 固定成本和销售 费用不随生产数量和建材价格的波动而波动 本文将目标函数简化为最小化变 动成本与贮存费之和 并构建相应约束条件 然后转化为动态规划模型 结合 MATLAB 编程进行求解 简化了求解过程 最终该厂每月的生产台数分别为 33 34 31 31 29 29 问题二 在问题一的基础上 对每个月的生产能力进行限制 本文在模型 一的基础上 增加了一个约束条件 并相应的更改了 MATLAB 中的 M 函数文 件 得到添加约束条件后的最优生产计划 最终该厂每月的生产台数分别为 33 33 31 32 29 29 关键词 关键词 最小成本 多阶段决策 动态规划 MATLAB 1 1 问题提出的背景 问题提出的背景 2010 年以来 央行和发改委出台了一系列措施平抑建材价格 但由于对建 材需求结构而言 总体上求大于供的市场状况没有得到根本改善 预计 2011 年 的建材价格仍会有一定的增长 因此 在需要建材的制造业中 需要按照建材 价格的增长幅度结合贮存成本等其他费用合理地控制生产计划 以达到利润最 大化 现某重型机械厂通过对历史资料进行回归分析 即数据拟合 并给合今年 上半年可能出现的影响制砖机销售的因素 预测该厂 2011 年上半年的销售情况 如表 1 1 所示 表表 1 11 1 20112011 上半年销售预测表上半年销售预测表 月份123456 销售量 台 423241672529 该厂的制砖机 2010 年 12 月的销售均价为 48 万元 台 今年上半年的售价 保持不变 2010 年 12 月末尚有 49 台未售出 制砖机从计划生产到售出会发生 下列费用 1 生产成本生产成本 包括固定成本 主要是指厂房 机器设备的折旧 和可变成本 钢材 其他材料和人工成本等 其中人工成本在可变成本中占到 大约 40 按照 2010 年 12 月份的建材价格计算 可变成本 万元 与制砖机 生产台数的平方成正比 比例系数为 0 5 且可变成本与建材价格上涨幅度有关 例如建材价格上涨 10 则可变成本是按前面方法计算结果的 1 1 倍 2 销销 售费用售费用 与当月的销售金额成正比 3 贮存费贮存费 生产出的制砖机未售出的必 须贮存 即该厂生产的制砖机平均每台每月的贮存费为 0 1 万元 预计今年上半年建材的价格仍会有一定的增长 预计的增长速度 以 2010 年 12 月的价格为基准 见表 1 2 表表 1 21 2 20112011 上半年建材价格增长表上半年建材价格增长表 月份123456 增长速度10 10 20 20 30 30 2 2 问题的重述与分析 问题的重述与分析 2 12 1 问题的重述问题的重述 该重型机械厂打算在上半年将生产的制砖机全部售完 希望制定一个合理 的生产计划在成本波动的情况下得到最大利润 其中 成本包括生产成本 销 售费用和贮存费 生产成本随建材价格的波动而起伏 问题一 如果该厂的月生产能力没有限制 并且允许期货销售 如何制定 月生产计划 问题二 如果该厂每月的生产能力限于 33 台 并且允许期货销售 该如何 制定月生产计划 2 22 2 问题的分析问题的分析 1 对问题一的分析 对问题一的分析 为得到该厂最优生产计划 需建立一个以最大利润为目标的模型 由于 2 1 利润单价销售量生产成本销售费用贮存费 其中 生产成本为固定成本和可变成本 固定成本为定值 不受制砖机生 产台数和价格波动的影响 可变成本为关于制砖机生产台数和建材价格上涨幅 度的函数 销售费用与当月销售额成正比 故也为定值 不受制砖机生产台数 和价格波动的影响 贮存费与制砖机库存有关 由于固定成本 销售额和销售费用都为定值 不受制砖机生产台数和价格 波动的影响 所以最终建立的目标函数为 2 2 min可变成本贮存费 列出的约束条件如下 月初库存约束 本月初库存为上月初库存量与上月制造量之和 再减去上月 销售量得到的差值 月初库存允许为负值 此时的数值代表上月的期货交易 量 初始值 第一个月的库存为 2010 年 12 月的库存量 题目中已知 为 49 台 非负约束 每月生产的量不为负数 在求解该模型时 本文首先将模型转化为动态规划模型 然后用 MATLAB 编程进行求解 2 对问题二的分析 问题二在问题一的基础上 对每个月的生产能力进行限制 本文在模型一 基础上增加了一个生产量的限制条件 相应的对动态模型进行改进 最终对 MATLAB 中的 M 函数文件进行更改 计算得到最终该厂的生产计划 3 3 问题的假设 问题的假设 1 假设库存足够大 不考虑库存容量问题 2 假设月销售量预测准确 不考虑因实际月销售量波动导致的制砖机生产计 划波动 3 假设不同时段生产的制砖机的实际价值一样 不考虑库存制砖机的折旧率 4 假设月初开始生产 月末进行销售 5 假设该工厂生产能力足够大 4 4 符号说明 符号说明 上半年月份的编号 其中 i6 5 4 3 2 1 i 制砖机的销售价格 根据题目所给的信息可知是个常数 0 p 0 p 第 个月的生产计划 i xi 该厂上半年的固定成本 0 a 第 个月建材价格的增长速度 i ai 销售费用与销售金额的比例系数 k 第 个月月初的库存量 i vi 第 个月的销售量 i si 5 5 模型的建立与求解 模型的建立与求解 5 15 1 问题一的模型建立与求解问题一的模型建立与求解 1 模型一的建立 模型一的建立 1 建立目标函数 建立目标函数 通过对问题一的深入分析 我们总结出问题一是一个最优化问题 即在满 足该厂生产能力不受限制 该厂允许期货销售和该厂能够在上半年把生产的制 砖机全部销售完三个条件下 最终使得该厂的利润最大 根据 利润 销售额 成本 的公式 结合题目所给的信息可知 该厂上半 年的销售额等于制砖机的销售价格乘以上半年总的销售量 即 5 1 6 1 0 i i xp 该厂上半年的成本包括生产成本 生产成本又包括固定成本和可变成本 销售费用和贮存费 即 5 2 6 1 6 1 0 6 1 2 0 1 0 1 5 0 ii ii i ii vxpkaxa 因此 目标函数可以表示为 5 3 1 0 1 5 0 6 1 6 1 0 6 1 2 0 6 1 0 ii ii i ii i i vxpkaxaxpMax 2 建立约束条件 建立约束条件 根据题目所给的信息 结合实际情况可知 第个月月初的库存量等于第1 i 个月月初的库存量加上第 个月生产的数量减去第 个月的销售数量 即iii 5 4 1iiii vxvs 此外 1 月份月初的库存量 并且每个月的生产计划 49 1 v0 i x 3 建立非线性优化模型 建立非线性优化模型 根据题目可知 该厂上半年的销售额 固定成本和销售成本都是常数 因 此要使得该厂的利润最大 也就是使得该厂的成本最低 所以目标函数可以简 化为 5 5 6 1 2 1 0 1 5 0 i iii vaxMin 综上所述 为使得该厂上半年的利润最大 即成本最低 制定该厂上半年 的生产计划的非线性优化模型如下 目标函数 目标函数 6 1 2 1 0 1 5 0 i iii vaxMin 约束条件 约束条件 st 1iiii vxvs 1 49v 0 i x 2 模型一的转化 模型一的转化 通过查阅相关的文献资料 结合题目的背景和模型一的特点 我们认为该 厂的生产计划问题属于多阶段决策问题 因此该非线性优化模型可以通过转化 为动态规划模型 然后通过 MATLAB 软件编程来进行求解 1 动态规划的基本模型 动态规划的基本模型 在实际应用中 要构造一个标准的动态规划模型 通常需要采用以下几个 步骤 划分阶段 按照问题的时间或空间特征 把问题分为若干个阶段 这些 阶段必须是有序的或者是可排序的 即无后向性 否则 应用无效 选择状态 将问题发展到各个阶段时所处的各种客观情况用不同的状态 表示 称为状态 状态的选择要满足无后效性和可知性 即状态不仅依 赖于状态的转移规律 还依赖于允许决策集合和指标函数结构 确定决策变量与状态转移方程 当过程处于某一阶段的某个状态时 可 以做出不同的决策 描述决策的变量称为决策变量 在决策过程中 由 一个状态到另一个状态的演变过程称为状态转移 写出动态规划的基本方程 动态规划的基本方程一般根据实际问题可分 为两种形式 逆序形式和顺序形式 动态规划基本方程的逆序形式为 0 1 2 1 11 11 nnnnnnn kkkkk xDu kk uxvxfxf nnkxfuxvoptxf kkk 件件件件件件 其中第阶段的状态为 其决策变量表示状态处于的决策 k k x k u 1 k x 状态转移方程为 阶段的允许决策集合记为 1kkkk uxTx k kk xD 为指标函数 kkk uxv 当求解时 由边界条件从开始 由后向前逆推 逐阶段求出nk 最优决策和过程的最优值 直到最后求出 即得到问题的最优解 11 xf 类似地 动态规划基本方程的顺序形式为 0 1 2 1 10 111 1 xf nnkxfuxvoptxf kkkkk xDu kk kkk 件件件件件 2 建立动态规划模型 建立动态规划模型 综上 建立该厂的生产计划的动态规划模型的步骤如下 划分阶段 将该厂上半年的生产计划按照时间进行划分 一个月份 为一个阶段 因此一共是 6 个阶段 选择状态变量 将该厂每个月月初的库存量设为状态变量 i v 确定决策变量与状态转移方程 将该厂每个月生产制砖机的数量 设为决策变量 同时根据题意可得状态转移方程为 i x 1iiii vxvs 写出动态规划的基本方程 本文采用的是逆序法构建动态规划模型 其中指标方程为 表示第 个月的贮存费和 1 5 0 1 0 2 iii axv i 变动成本 因此 动态规划的基本方程如下 0 49 1 2 6 1 5 0 1 0min 71 11 2 vv ixfaxvxf iiiiiii 件件件件件 综上 最终的转化成的动态规划模型如下 1 2 6 1 5 0 1 0min 11 2 ixfaxvxf iiiiiii 1iiii vxvs 49 1 v 0 7 v 0 i x 3 基于 基于 MATLAB 的动态规划模型求解的动态规划模型求解 对于构建的动态规划模型 若用人工进行计算 则非常复杂 又很繁琐 如果基于 MATLAB 的动态规划逆序算法 同时通过 MATLAB 软件编程进行求 解 就可以大大提高计算速度和准确率 其中 动态规划逆序算法的 MATLAB 程序详见附录 8 1 根据上述建立的动态规划模型 包括阶段指标函数 状态转移方程和基本 方程 本文写出下面 3 个 M 函数文件 以便在求解时可以进行调用 decisfun m 文件 decisfun m function u decisfun k s u 在阶段kk由状态变量x的值求出其相应的决策变量所有的取值 b 42 32 41 67 25 29 if k 6 u b k s 6月初的库存量和6月份生产的数量等于6月份的销售量 else u 0 236 u表示某个月的生产数量 所以不能取负值 每个月的生产数量不超过上半年的销售总数量减去1月初的库存量 即u不大于236 end transfun m 文件 transfun m function s next transfun k s u 状态转移函数 b 42 32 41 67 25 29 销售数量矩阵 s next s u b k 状态转移方程 subobjfun m 文件 subobjfun m function v subobjfun k s u 阶段目标函数 a 0 1 0 1 0 2 0 2 0 3 0 3 建材价格增长矩阵 if s 0 由于该厂可以期货销售 因此库存量可能取负值 当库存量取负值时 该厂的贮存费为零 v 0 5 u 2 1 a k 0 1 s else v 0 5 u 2 1 a k end 在 MATLAB 主窗口输入每一个阶段状态变量的所有可能取值 然后直接调 用 dynprog m 详见附录 8 1 进行计算 计算结果如表 5 1 所示 详见附录 8 2 表表 5 1 问题问题 1 计算结果计算结果 阶段状态变量决策变量阶段指标 14933603 85 24034639 8 34231580 8 43231579 8 5 429546 65 6029546 65 由表 5 1 可知 在生产能力没有限制的前提下 该厂生产制砖机的月进度表 即生产计划如表 5 2 所示 表表 5 2 生产计划表生产计划表 1 月份123456 生产量 台 333431312929 5 25 2 问题二的模型建立与求解问题二的模型建立与求解 1 模型二的建立 模型二的建立 在问题一中 我们构建的模型是在假设该厂的生产能力没有受到限制的前 提下 但是结合实际情况 任何工厂的生产能力都是受到限制的 比如说原材 料的短缺等等 因此问题二就是在问题一的基础上增加了一个约束条件 限制 该厂每月的生产能力不大于 33 台 即 5 6 33 i x 因此 在限制该厂生产能力的条件下 该厂生产计划的非线性优化模型如 下 目标函数 目标函数 6 1 2 1 0 1 5 0 i iii vaxMin 约束条件 约束条件 st 1iiii vxvs 1 49v 330 i x 同样 可以将该非线性优化模型转化成动态规划模型 转化的步骤在前面 的文本中已给出 因此这边只给出最终转化后的动态规划模型 如下 1 2 6 1 5 0 1 0min 11 2 ixfaxvxf iiiiiii 1iiii vxvs 49 1 v 0 7 v 300 i x 2 模型二的求解 模型二的求解 由于该动态规划模型只是增加了对决策变量的一个范围约束 因此阶段指 标函数 状态转移方程和基本方程都没有发生改变 只需要改变 decisfun m 文 件中的取值范围即可 改变后的 decisfun m 字体加粗且有下划线的地方即为u 改变的地方 为 decisfun m function u decisfun k s u 在阶段k由状态变量x的值求出其相应的决策变量所有的取值 b 42 32 41 67 25 29 if k 6 u b k s 6月初的库存量和6月份生产的数量等于6月份的销售量 else u 0 33 u表示某个月的生产数量 所以不能取负值 该厂每个月的生产能力限于表示某个月的生产数量 所以不能取负值 该厂每个月的生产能力限于33台台 end 同样 在 MATLAB 主窗口输入每一个阶段状态变量的所有可能取值 然后 直接调用 dynprog m 详见附录 8 1 进行计算 计算结果如表 5 3 所示 详见 附录 8 3 表表 5 3 问题问题 2 计算结果计算结果 阶段状态变量决策变量阶段指标 14933603 85 24033602 95 34131580 7 43132617 5 5 429546 65 6029546 65 由表 5 3 可知 在生产能力限于 33 台的前提下 该厂生产制砖机的月进度 表即生产计划如表 5 4 所示 表表 5 4 生产计划表生产计划表 2 月份123456 生产量 台 333331322929 5 35 3 结果分析结果分析 1 问题一的结果分析 问题一的结果分析 根据求得的生产计划表 如表 5 1 所示 结合销售量 库存量和价格上涨的 具体信息 如表 5 5 所示 我们对求得的结果根据变量的变化趋势进行了分析 如图 5 1 所示 表表 5 5 变量的具体数据变量的具体数据 1 月份 123456 销售量 423241672529 生产计划 333431312929 库存量 49404232 40 价格上涨幅度 0 10 10 20 20 30 3 10 0 10 20 30 40 50 60 70 80 123456 0 0 05 0 1 0 15 0 2 0 25 0 3 0 35 销售量 生产计划1 库存量 价格上涨 图图 5 15 1 变量变化的趋势变量变化的趋势 1 1 注 图中价格上涨的数据是以次坐标轴为单位 其余都是以主坐标轴为单位 根据图 5 1 中变量变化的趋势可知 该厂上半年的销售数量的波动比较大 而生产计划比较稳定 但是总体呈现下降的趋势 这是由于建材成本的价格上 涨幅度一直处于增长的状态 因此为了节约生产成本 该厂应该尽可能多的在 建材成本较低的时候进行生产 这符合实际情况 由于库存量受到销售量和生 产计划的共同作用 因此库存量的波动也比较大 特别是在 5 月份 出现了库 存量小于零的状况 这说此时该厂进行了期货销售 2 问题二的结果分析 问题二的结果分析 在该厂的生产能力受到限制后 同样根据求得的生产计划表 如表 5 3 所示 结合销售量 库存量和价格上涨的具体信息 如表 5 6 所示 我们对求得的结 果根据变量的变化趋势进行了分析 如图 5 2 所示 表表 5 6 变量的具体数据变量的具体数据 2 月份123456 销售量423241672529 生产计划333331322929 库存量49404131 40 价格上涨幅度0 10 10 20 20 30 3 10 0 10 20 30 40 50 60 70 80 123456 0 0 05 0 1 0 15 0 2 0 25 0 3 0 35 销售量 生产计划2 库存量 价格上涨 图图 5 25 2 变量变化的趋势变量变化的趋势 2 2 注 图中价格上涨的数据是以次坐标轴为单位 其余都是以主坐标轴为单位 图 5 2 中变量变化的趋势和图 5 1 中变量变化的趋势基本一致 有所不同的 是图 5 2 求出来的结果是在该厂的生产能力受到限制后求得的 因此该厂的生 产计划不能超过每月 33 台 从图 5 2 中的可以看出 该厂在第 1 2 月份生产 的制砖机数量达到了最大生产能力 33 台 主要是因为 1 2 月份的建材成本最 低 由于建材成本呈现上升的趋势 因此将更多的制砖机在建材成本较低的时 候进行生产 就可以降低变动成本 最终提高该厂的利润 因此求得的结果是 符合实际的 6 6 模型的评价与改进 模型的评价与改进 6 16 1 模型的优点模型的优点 动态规划是解决多阶段决策过程最优化问题的一种方法 本文针对制砖机 生产计划多阶段决策问题的特点 把多阶段过程转化为一系列单阶段问题 利 用各阶段之间的关系 逐个求解 提出了解决问题的最优化原理 动态规划模型可以通过 MATLAB 编程得到最终最优结果 避免了人工求解 时的大量计算 节省时间且提高计算准确率 6 26 2 模型的缺点模型的缺点 在模型中 没有考虑工厂的实际库存 但是在实际生产中 每个工厂在每 阶段的生产中都存在最大库存量 模型是严格基于 2011 年上半年的销售预测的 基础上建立得到的 没有一定的弹性 如果预测略有偏差或者每阶段的预测有 波动 此模型在一定程度上就不适用了 在模型中 假设只在月末进行销售 但在实际生产中 每天都存在商品交易 6 36 3 改进的方向改进的方向 针对上述模型所存在的缺点 后期的改进方向可定为三个方面 1 在模型中增加一个变量 每阶段该厂分配给制砖机的库存量 2 将销售预测改为变动值 用预测模型代替销售预测值 3 将库存费用以天为单位进行计算 使构建的模型更合理 7 7 参考文献 参考文献 1 褚洪生 杜增吉等 MATLAB7 2 优化设计实例指导教程 机械工业出版社 2007 2 孙晓君 基于 MATLAB 的动态规划逆序算法的实现 J 纺织高校基础科学 学报 2002 15 1 38 41 3 史历 夏先进 基于 MATLAB 解决生产 库存问题 J 制造业自动化 2010 32 10 51 52 4 于斌 刘姝丽 韩中庚 动态规划求解方法的 MATLAB 实现及应用 J 信息 工程大学学报 2005 6 3 95 98 5 丰玮 吴凤平 对生产计划问题 DP 模型的进一步探讨 J 河海大学学报 1998 26 3 46 49 6 孙宝 王希云 基于 MATLAB 的动态规划常用算法的实现 J 太原师范大 学学报 2008 7 4 26 30 8 8 附录 附录 8 18 1 动态规划逆序算法的动态规划逆序算法的 MATLABMATLAB 程序程序 function p opt fval dynprog x DecisFun SubObjFun TransFun ObjFun k length x 1 x isnan isnan x t vubm inf ones size x f opt nan ones size x d opt f opt tmp1 find x isnan k tmp2 length tmp1 for i 1 tmp2 u feval DecisFun k x i k tmp3 length u for j 1 tmp3 tmp feval SubObjFun k x tmp1 i k u j if tmp t vubm i k f opt tmp1 i k tmp d opt tmp1 i k u j
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 异丙醇装置操作工测试验证知识考核试卷含答案
- 漆艺师岗前记录考核试卷含答案
- 时钟装配工安全培训竞赛考核试卷含答案
- 拖拉机驾驶员持续改进知识考核试卷含答案
- 彩灯艺术设计师安全文明竞赛考核试卷含答案
- 生物农药生产工技能强化考核试卷含答案
- 煤层气固井工复测模拟考核试卷含答案
- 污泥处理工岗中健康知识考核试卷含答案
- 稀土真空热还原工岗中水平能力考核试卷含答案
- 时间频率计量员安全防护竞赛考核试卷含答案
- 2026冶炼厂面试题及答案
- 课堂英语教师口语用语200句
- 中小学生日常行为规范暨教育惩戒实施细则
- 2026富邦华一银行成都分行社会招聘笔试参考题库及答案详解
- 2026年高考政治真题完全解读(黑吉辽蒙卷)
- 电厂运行事故处理操作要点培训课件
- 预埋螺栓施工方案
- 2026年山东省济宁市重点学校小升初入学分班考试语文考试试题及答案
- 2026年农作物植保员职业技能竞赛模拟题库及参考答案详解(培优A卷)
- 滴滴货运营销方案策划
- 2026贵州省农业发展集团有限责任公司招录(第一批)岗位65人备考题库及参考答案详解一套
评论
0/150
提交评论