前言

动态规划在计算机领域中是一个非常重要的算法。动态规划源于运筹学,从运筹学的角度可以更深入的理解动态规划,不妨先了解一下其他的数学规划方法。

一、线性规划

线性规划的研究对象是稀缺资源最有分配问题,即将优先的资源以最佳的分配方式,分配于相互竞争的活动之中,一般体现为在一定的资源条件下,如何合理使用,达到效益最高;活在给定任务后,如何统筹安排,是资源消耗最低。

由于许多实际问题本质上是线性的,所以线性规划可以解决诸如生产计划、配料问题、运输问题、投资问题、劳动力安排和工业污染等许多方面的应用。网络分析、整数规划、目标规划、和多目标规划等都已线性规划为基础。

一般模型:

二、目标规划

目标多个,有的相互制约,有的又相互排斥。若目标函数和约束条件都是线性的,就称为线性目标规划。

一般模型:

其中P为目标优先因子,w为目标权系数,d为偏差变量

三、整数规划

决策变量不可无限细分,只有取非负整数时才有实际意义。

如最优调度的车辆数,设置的银行网点数,指派工作的人员数等,这样的问题就称为整数规划问题,若目标函数和约束条件均为线性的,就称为整数线性目标规划。

全部变量都取整数,称为纯整数规划;

部分变量取整数值,称为混合整数规划;

决策变量全部取0或1的规划称为0-1整数规划。

一般模型:

四、非线性规划

目标函数或约束条件中含有决策变量的非线性函数,则称为非线性规划(目前非线性规划并没有一个统一的求解精确解的方法,可以使用一些近似解求解算法,如遗传算法等)

五、动态规划

实际工作中,当对一个经济系统进行分析时,往往要求对系统在包括若干解阶段的整个过程进行最优化决策(称为多阶段决策问题)。

所谓多阶段决策过程,是指这样一类决策过程,由于他的特殊性,可以将该过程(一般按时间或空间)划分为若干个相互联系的阶段,而在每个阶段都要做出决策,以使整个过程取得最优的效益。在多阶段决策过程中,各个阶段所采取的决策通常与时间有关,前一阶段采取的决策如何,不但决定着该阶段的效益,而且还直接影响以后各阶段的效益,可见它是一个动态的规划问题,所以称为动态规划。

动态规划也可以处理本来与时间无关的静态问题,这只需在静态模型中人为的引进“时间”因素,并按时按分段,将静态问题转换为动态模型,然后按动态规划方法处理。

动态规划可以看作是一个数学模型,又可以以说它是一个算法。

参考文献

运筹学教程.刘满凤等.清华大学出版社,2010.7

运筹学角度看动态规划(努力更新中...)相关推荐

  1. Echarts视图可视化-学习笔记(努力更新中)

    文章目录 1. Echarts简介 2. 常见的数据可视化库 3. Echarts第一个小案例 4. Echarts基础配置 4.1 title 4.2 tooltip 4.3 legend 4.4 ...

  2. 从动力学角度看优化算法:GAN的第三个阶段

    作者丨苏剑林 单位丨追一科技 研究方向丨NLP,神经网络 个人主页丨kexue.fm 在对 GAN 的学习和思考过程中,我发现我不仅学习到了一种有效的生成模型,而且它全面地促进了我对各种模型各方面的理 ...

  3. 我学习 Java 的历程和体会(写给新手看,欢迎老司机批评和建议,持续更新中)

    我学习 Java 的历程和体会(写给新手看,欢迎老司机批评和建议,持续更新中) 最初写这篇文章的时候,是在今年的 9 月中旬.今天,我想再写写这将近两个多月以来的感受. 在今年的 10 月我来到北京求 ...

  4. 算法学习-动态规划,纸老虎打倒他(持续更新中)

    文章目录 基础知识 线性DP 相关题目 45.跳跃游戏II 70.爬楼梯 746.使用最小花费爬楼梯 62.不同路径 63.不同路径2 343.整数拆分 96.不同的二叉搜索树 91.解码方法 119 ...

  5. 从用户的角度看 c语言中函数有两种,【南开大学】20秋学期(1709、1803、1809、1903、1909、2003、2009 )《C语言程序设计》在线作业答卷...

    20秋学期(1709.1803.1809.1903.1909.2003.2009 )<C语言程序设计>在线作业 试卷总分:100  得分:100 一.单选题 (共 40 道试题,共 80 ...

  6. symfony2的中文视频教程更新中(原创),对Symfony感兴趣的学员可以看下

    symfony2的中文视频教程更新中(原创),对Symfony感兴趣的学员可以看下 本课程总共通过<symfony基本入门教程><symfony配置文件>等等 各个symfon ...

  7. 从应用计算机的角度看,从计算机应用的对象看,计算机在教育中的应用包括()

    相关题目与解析 从计算机应用的功能看,计算机在教育领域的应用方式包括() 从认知工具的角度看,计算机在教育中的应用包括(). 从计算机应用的功能来看,在教育领域中的应用方式包括().(). 从管理系统 ...

  8. Uncertainty Modeling and Optimization-不确定性建模与优化-理论篇(高速更新中)

    Uncertainty Modeling and Optimization-不确定性建模与优化 目录 Uncertainty Modeling and Optimization-不确定性建模与优化 0 ...

  9. 《项目管理问题分析与解决方案小册》(持续更新中)

    版本 内容 编写人 时间 V1.0 前言.意识篇.能力篇.方法篇.提升篇和附录 dstweihao 2022-11-14 第1章 前言 你可能是项目中的开发能手,最佳情况也只是能保证自己,负责开发的功 ...

  10. 从业务架构师角度看区块链为什么以及如何改变世界

    前言 区块链技术是当前炙手可热的新兴技术,关于该技术的介绍比比皆是,但是介绍往往是从技术实现的角度来阐述区块链的优势,本文是从一个业务架构师的角度,来努力说明因为区块链,这个世界将会看到的新变化,或者 ...

最新文章

  1. 管理已“死”,经营为王时代来临
  2. TestinPro应用与DevOps之路
  3. 文件名的查找——find
  4. pd虚拟机专用windows系统镜像(m1/intel)「新增:Intel Mac win7专业版懒人包镜像」
  5. C#设置WebBrowser默认浏览器
  6. 企业微信群机器人是什么?企微机器人如何自动发消息?
  7. Kaldi语音识别技术
  8. 怎么做拼多多活动|成都百择
  9. MySQL-8.0 RESTART命令远程重启mysqld
  10. wps android 版 参数控制介绍,最强手机办公软件 Android版金山WPS首评测
  11. Nodejs之解决接口跨域问题
  12. python编程练习:模拟水文模型中的水箱模型(tank model),不含参数率定过程
  13. *寒假水105——Reduced ID Numbers
  14. 01-HTML 和CSS
  15. dlib linux 编译使用,ubuntu/ARM编译使用Dlib、OpenCV
  16. 看了黄大年,懂了一些道理!
  17. C++[引用()]的作用和使用(引用作返回值的后果)
  18. 一种全新的深亚微米IC设计方法
  19. 【小猫爪】AUTOSAR学习笔记14-EcuM模块
  20. Vue Router 跳转拦截

热门文章

  1. html5局部放大图片,图片局部放大效果原理详解
  2. SpringMVC+VUE开发环境搭建
  3. FreeImage的学习总结总结(四)
  4. java读取txt文件乱码问题
  5. 计算机一级在线模拟试题,全国计算机等级考试一级模拟试题(一)
  6. ubuntu 定时备份mysql,ubuntu下mysql定时备份
  7. 【预测模型】自回归(AR)模型
  8. 面试中常被问到(七)封装继承多态知多少
  9. 基于串级pid控制系统的两轴无人机云台设计
  10. SpringBoot添加FastJson消息转换器(自用)