动态规划解资源分配问题

2024-01-23 20:38

本文主要是介绍动态规划解资源分配问题,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

有资金4万元,投资A、B、C三个项目,每个项目的投资效益与投入该项目的资金有关。三个项目A、B、C的投资效益(万吨)和投入资金(万元)的关系见下表:

      项目

投入资金

A

B

C

1万元

15万吨

13万吨

11万吨

2万元

28万吨

29万吨

30万吨

3万元

40万吨

43万吨

45万吨

4万元

51万吨

55万吨

58万吨

 

 

 

 

 

 

 

 

 

求对三个项目的最优投资分配,使总投资效益最大。

阶段k:每投资一个项目作为一个阶段;

状态变量xk:投资第k个项目前的资金数;

决策变量dk:第k个项目的投资;

决策允许集合:0dkxk

状态转移方程:xk+1=xk-dk

阶段指标:vk(xk,dk)见表中所示;

递推方程:fk(xk)=max{vk(xk,dk)+fk+1(xk+1)}

终端条件:f4(x4)=0

k=4f4(x4)=0

k=30d3x3x4=x3-d3

x3

D3(x3)

x4

v3(x3,d3)

v3(x3,d3)+f4(x4)

f3(x3)

d3*

0

0

0

0

0+0=0

0

0

1

0

1

0

0+0=0

11

1

1

0

11

11+0=11*

2

0

2

0

0+0=0

30

2

1

1

11

11+0=11

2

0

30

30+0=30*

3

0

3

0

0+0=0

45

3

1

2

11

11+0=11

2

1

30

30+0=30

3

0

45

45+0=45*

4

0

4

0

0+0=0

58

4

1

3

11

11+0=11

2

2

30

30+0=30

3

1

45

45+0=45

4

0

58

58+0=58*

 

k=20d2x2x3=x2-d2

x2

D2(x2)

x3

v2(x2,d2)

v2(x2,d2)+f3(x3)

f2(x2)

d2*

0

0

0

0

0+0=0

0

0

1

0

1

0

0+11=11

13

1

1

0

13

13+0=13*

2

0

2

0

0+30=30*

30

0

1

1

13

13+11=24

2

0

29

29+0=29

3

0

3

0

0+45=45*

45

0

1

2

13

13+30=43

2

1

29

29+11=40

3

0

43

43+0=43

4

0

4

0

0+58=58

59

2

1

3

13

13+45=58

2

2

29

29+30=59*

3

1

43

43+11=54

4

0

55

55+0=55

 

k=10d1x1x2=x1-d1

x1

D1(x1)

x2

v1(x1,d1)

v1(x1,d1)+f2(x2)

f1(x1)

d1*

4

0

4

0

0+59=59

60

1

1

3

15

15+45=60*

2

2

28

28+30=58

3

1

40

40+13=53

4

0

51

51+0=51

最优解为x1=4, d1*=1, x2=x1-d1=3, d2*=0, x3=x2-d2*=3, d3=3, x4=x3-d3=0

即项目A投资1万元,项目B投资0万元,项目C投资3万元,最大效益为60万吨。

 

这篇关于动态规划解资源分配问题的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/637451

相关文章

mybatis和mybatis-plus设置值为null不起作用问题及解决

《mybatis和mybatis-plus设置值为null不起作用问题及解决》Mybatis-Plus的FieldStrategy主要用于控制新增、更新和查询时对空值的处理策略,通过配置不同的策略类型... 目录MyBATis-plusFieldStrategy作用FieldStrategy类型每种策略的作

Android 悬浮窗开发示例((动态权限请求 | 前台服务和通知 | 悬浮窗创建 )

《Android悬浮窗开发示例((动态权限请求|前台服务和通知|悬浮窗创建)》本文介绍了Android悬浮窗的实现效果,包括动态权限请求、前台服务和通知的使用,悬浮窗权限需要动态申请并引导... 目录一、悬浮窗 动态权限请求1、动态请求权限2、悬浮窗权限说明3、检查动态权限4、申请动态权限5、权限设置完毕后

linux下多个硬盘划分到同一挂载点问题

《linux下多个硬盘划分到同一挂载点问题》在Linux系统中,将多个硬盘划分到同一挂载点需要通过逻辑卷管理(LVM)来实现,首先,需要将物理存储设备(如硬盘分区)创建为物理卷,然后,将这些物理卷组成... 目录linux下多个硬盘划分到同一挂载点需要明确的几个概念硬盘插上默认的是非lvm总结Linux下多

Python Jupyter Notebook导包报错问题及解决

《PythonJupyterNotebook导包报错问题及解决》在conda环境中安装包后,JupyterNotebook导入时出现ImportError,可能是由于包版本不对应或版本太高,解决方... 目录问题解决方法重新安装Jupyter NoteBook 更改Kernel总结问题在conda上安装了

pip install jupyterlab失败的原因问题及探索

《pipinstalljupyterlab失败的原因问题及探索》在学习Yolo模型时,尝试安装JupyterLab但遇到错误,错误提示缺少Rust和Cargo编译环境,因为pywinpty包需要它... 目录背景问题解决方案总结背景最近在学习Yolo模型,然后其中要下载jupyter(有点LSVmu像一个

解决jupyterLab打开后出现Config option `template_path`not recognized by `ExporterCollapsibleHeadings`问题

《解决jupyterLab打开后出现Configoption`template_path`notrecognizedby`ExporterCollapsibleHeadings`问题》在Ju... 目录jupyterLab打开后出现“templandroidate_path”相关问题这是 tensorflo

如何解决Pycharm编辑内容时有光标的问题

《如何解决Pycharm编辑内容时有光标的问题》文章介绍了如何在PyCharm中配置VimEmulator插件,包括检查插件是否已安装、下载插件以及安装IdeaVim插件的步骤... 目录Pycharm编辑内容时有光标1.如果Vim Emulator前面有对勾2.www.chinasem.cn如果tools工

最长公共子序列问题的深度分析与Java实现方式

《最长公共子序列问题的深度分析与Java实现方式》本文详细介绍了最长公共子序列(LCS)问题,包括其概念、暴力解法、动态规划解法,并提供了Java代码实现,暴力解法虽然简单,但在大数据处理中效率较低,... 目录最长公共子序列问题概述问题理解与示例分析暴力解法思路与示例代码动态规划解法DP 表的构建与意义动

Java多线程父线程向子线程传值问题及解决

《Java多线程父线程向子线程传值问题及解决》文章总结了5种解决父子之间数据传递困扰的解决方案,包括ThreadLocal+TaskDecorator、UserUtils、CustomTaskDeco... 目录1 背景2 ThreadLocal+TaskDecorator3 RequestContextH

关于Spring @Bean 相同加载顺序不同结果不同的问题记录

《关于Spring@Bean相同加载顺序不同结果不同的问题记录》本文主要探讨了在Spring5.1.3.RELEASE版本下,当有两个全注解类定义相同类型的Bean时,由于加载顺序不同,最终生成的... 目录问题说明测试输出1测试输出2@Bean注解的BeanDefiChina编程nition加入时机总结问题说明