推荐 原创 视频 Java开发 iOS开发 前端开发 JavaScript开发 Android开发 PHP开发 数据库 开发工具 Python开发 Kotlin开发 Ruby开发 .NET开发 服务器运维 开放平台 架构师 大数据 云计算 人工智能 开发语言 其它开发
Lambda在线 > Patrick与供应链之道 > 多阶段决策优化 - 动态规划

多阶段决策优化 - 动态规划

Patrick与供应链之道 2019-02-13

      何为多阶段决策。

 

比如说连续投资问题,本年在项目上的投资总额,受当前拥有资金的约束,当前拥有资金由前面的投资决策所决定,而本年的投资总额,又会影响后面的投资。

 

因为整个过程中的各个决策并不是相互独立的,前面对当前有影响,当前对后面有影响,所以整个决策链条可以划分为一环扣一环的多个阶段。


动态规划(Dynamic Programming)是解决多阶段决策的算法。


简而言之动态规划算法就是,列出每个阶段跟上一个阶段的关系,以此作为约束。


For example.

(下面是线性动态规划)

预测公司未来10年每年年初净现金流如下,

目前只有100万元,需要向银行贷款,由两种贷款方式,


第一种是10年期的长期贷款,年利率7%,只能在第一年年初贷款,第二年年初开始每年年初还息(10次),第11年年初还本;


第二种是一年期短期贷款,年利率10%,可在第1 – 10年每年年初贷款,下一年还本付息。


并且要求每年的现金储备最少50万元。


问:采用怎样的贷款组合使公司在10年内正常运转,希望第11年年初的资金金额最多?

多阶段决策优化 - 动态规划

       每一年的借钱、还钱、现金流出/流入之后的结余大于等于50万元。


       再加上默认的决策变量(借款额)的非负约束。


      当然上面Excel中每年的还款额是提前列好公式的,随每年的借款额变化而变化。


      目标函数是第11年年初的结余金额取最大值,结果如下。

我觉得挺简单的。

     典型的动态规划问题除了前面提到的,经济管理领域的连续投资问题、贷款问题,还有比如生产调度中的生产与储存问题:当前阶段的生产量不仅取决于本阶段的市场需求量,还取决于前面阶段产生的库存,同时也要考虑后面的市场需求预测。还有优化控制等领域的问题。

   

之前决策在一个阶段产生的结果,称之为 “状态”。每一阶段的“状态”存在约束,所以“状态”反过来制约当前阶段决策的选择,前面阶段的决策实际上影响当前阶段的决策。如果将i-1阶段视为当前阶段,可以看出,后面状态的约束,同样制约前面决策的选择。所以整个决策过程前后是相互关联的。动态规划的算法适合解决这样的多阶段决策优化问题。


版权声明:本站内容全部来自于腾讯微信公众号,属第三方自助推荐收录。《多阶段决策优化 - 动态规划》的版权归原作者「Patrick与供应链之道」所有,文章言论观点不代表Lambda在线的观点, Lambda在线不承担任何法律责任。如需删除可联系QQ:516101458

文章来源: 阅读原文

相关阅读

关注Patrick与供应链之道微信公众号

Patrick与供应链之道微信公众号:gh_ac35254495b6

Patrick与供应链之道

手机扫描上方二维码即可关注Patrick与供应链之道微信公众号

Patrick与供应链之道最新文章

精品公众号随机推荐

下一篇 >>

动态规划--Triangle