动态规划0-1背包和资源分配
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
(2)状态:各阶段开始时的客观条件叫做状态,描述各阶段的 变量叫做状态变量,常用Sk表示第k阶段的状态变量,状态变量 Sk的取值集合称为状态集合,用Sk表示。 (3)决策:当各段的状态确定以后,就可以做出不同的选择, 从而确定下一阶段的状态,这种决定称为决策,表示决策的变 量叫做决策变量,常用Uk表示第k阶段状态为Sk时的决策变量。 在实际问题中,决策变量的取值往往限制在一定范围内,称此 范围为允许决策集合,常用 Dk(Sk) 表示第 k 阶段从状态 sk 出发的 允许决策集合,显然有“Uk∈Dk(Sk).
0-1背包问题MATLAB实现结果
03
动态规划应用之资源分配问题
发电机组分配问题
问题描述:现有5套发电机组分配给甲乙丙三个发电厂, 各个发电厂利润与发电机组数量之间的关系如下表所示, 请问如何分配可使3个发电厂的总利润最大化?
动态规划的基本组成
(1)阶段:将所给问题的过程,按照时间或空间特征分解成若 干相互联系的阶段,以便于按次序求解最有阶段的解,每个阶 段就是一个子问题,常用字母K表示阶段变量
0-1背包问题实例详解
有5个物品,其重量分别是{2,2,6,5,4},价值分别为{6,3,5,4,6}, 背包的容量为10.
0-1背包问题判断下一个物品是放还是不放;不放时: M ( i , v )= M ( i-1 , C ) ;放时:M ( i , v ) = max{M ( i-1 , C ) , M ( i-1 , C – W(i) + V(i)}
二、动态规划的设计思想
动态规划法将求解问题分解成若干个相互重 叠的子问题,每个子问题对应决策过程的一 个阶段。一般来说,子问题的重叠关系表现 在对给定问题求解的递推关系(也就是动态 规划函数)中,将子问题的解求解一次并填 入表中,当需要再次求解此子问题时,就可 以通过查表获得该子问题的解而不用再次求 解,从而避免了大量重复计算。为了达到这 个目的,可以用一个表来记录所有已解决的 子问题的解,这就是动态规法的设计思想。 具体的动态规划法是多种多样的,但是他们 具有相同的填表形式。
动态规划的应用
动态规划问世以来,在经济 管理、生产调度、工程技术和 最优控制等方面得到了广泛的 应用。例如最短路线、库存管 理、资源分配、设备更新、排 序、装载等问题。
01
动态规划最优化原理
02
作为整个过程最优策略具有这样 的性质:无论过去的状态和决策 如何,对前面的决策所形成的的 状态而言,余下的决策必须构成 最优策略
03
动态规划在电网上的应用
电力项目投资、发电机组负荷优 化以提高经济性、供电系统无功 优化、配电网电压无功来自百度文库制、配 电网开关优化配置等方面有着广 泛的应用
02
动态规划原理之0-1背包问题
0-1背包问题
问题描述: 给定n种物品和一背包。物品i的重量是wi,其价值为vi, 背包的容量为c。请问如何选择装入背包中的物品,使 得装入背包中物品的总价值最大?
对于0-1背包问题,每种物品i都只有一件,可以选 择装入或者是不装入背包。不能将物品i装入背包 多次,也不能只装入部分。
动态规划的基本组成
(6)指标函数 用于衡量所选定策略优劣的数量指标称为指标函数.一个n阶段 决策过程,从 1 到 n 叫作问题的原过程.对于任意一个给定的 k(1≤k≤n),从第k阶段到第n阶段的过程称为原过程的一个后部子 过程。 V1,n(s1,p1,n) 表示初始状态为 s1 采用策略 p1,n 时原过程的 指标函数值。而Vk,n(sk,pk,n)表示在第k阶段,状态为sk采用策略 pk,n 时后部子过程的指标函数值.最优指标函数记为 fk(sk) ,它 表示从第 k 阶段状态 sk 采用最优策略 pk,n 到过程终止时的最佳效 益值.fk(sk)与Vk,n(sk,pk,n)间的关系为: fk(sk)=Vk,n(sk,pk,n)=optimize Vk,n(sk,pk,n) 当 k=1 时, f1(s1) 就是从初始状态 s1 到全过程结束的整体最优函 数.
发电机组分配问题
综上可知,基本方程为
同时可知: s1={5} s2={0,1,2,3,4,5} s3={0,1,2,3,4,5}
发电机组分配问题
发电机组分配问题
发电机组分配问题
MATLAB实现结果
第一阶段,Sk=5,Uk=2,Vk=7 第二阶段,Sk=3,Uk=2,Vk=10 第三阶段,Sk=1,Uk=1,Vk=4 Vk(max)=7+10+4=21
0-1背包问题基本思路
0-1 背包问题,特点就是:每种物品仅有一件,可 以选择放或者是不放,其状态转移方程就是: M ( i , v ) = max{第i件物品不放入背包,第i件物品放 入背包} M ( i , v ) = max{M ( i-1 , C ) , M ( i-1 , C – W(i) + V(i)} 用子问题定义状态:即M ( i , v )表示前i件物品恰好 放入一个容量为C的背包可以获得的最大价值。 M ( i , v ) = max{(不放入物品i)将前i-1件物品放入容 量为 C的背包中的最大价值, ( 放入物品i) 将前 i-1件 物品放入容量为C-W(i)的背包中的最大价值+V(i)}
04
结果讨论
结果讨论
动态规划优缺点
1、由于约束条件确定的约束集 合往往很复杂,即使指标函数较 简单,也很难求出全局解,而动 态规划可以把全过程化为一系列 结构显示的子问题,变量大大减 少,约束集合变简单,易于得到 全局最优解。 2、实际问题往往是动态的,而 动态规划方法反映了过程逐段演 变的前后联系和动态特征,在计 算中可以利用实际知识和经验提 高求解效率。
动态规划
张起 控制工程
动态规划
动态规划的基本概念 动态规划原理值0-1背包问题 发电厂设备分配问题 结果讨论
01
动态规划的基本概念
一、什么是动态规划?
动态规划是运筹学的重要分支之一,是解 决多阶段决策过程最优化的一种方法。 对于一个多阶段决策过程,可以根据问题 的特点,把整个过程分为几个相互联系的 阶段,各个阶段采取的决策,一般来说是 与时间有关的,决策依赖于当前状态,又 随即引起状态的变化,故有“动态”的含 义,称这种解决多阶段决策最优化问题的 方法为动态规划方法。
1、动态规划没有同意的模型, 也没有构造模型的通用方法,甚 至还没有判断一个问题能否构造 动态规划模型的准则,因此只能 凭借经验具体分析,这也带来了 应用上的局限性。 2、用数值方法求解时,对于状 态变量取值的n维问题,对每个 状态都要计算,就存在维数灾问 题,动态规划对于这一类问题是 无效的
结果讨论
发电机组分配问题
问题描述:现有5套发电机组分配给甲乙丙三个发电厂, 各个发电厂利润与发电机组数量之间的关系如下表所示, 请问如何分配可使3个发电厂的总利润最大化? 建立动态规划的数学模型 1、阶段K:按发电厂划分阶段,k=1,2,3(分别代表甲乙 丙发电厂) 2、状态变量Sk:表示可用于分配给第k个发电厂的发电机 组的数量 3、决策变量Uk:表示分配给第k阶段(发电厂)的发电 机组数量 4、状态转移Tk:Sk+1=Sk-Uk 5、阶段指标Vk:第k阶段的指标函数,表示分配给第k个 发电厂Uk台设备所获的利益
二、动态规划的实质——记忆化搜索
最优化子结构性质:若问题的最优解所包含 的子问题的解也是最优的,则称该问题具有 最优子结构的性质(即满足最优化原理) 能用动态规划解决的求最优解问题,必须满 足最优解的每个局部也都是最优的
子问题重叠性质:在用递归算法对问题进行 求解时,每次产生的子问题并不总是新问题, 有些子问题可能被重复计算多次,动态规划 算法利用此性质,对每个子问题只计算一次, 然后将其结果保存起来以便高效利用。
动态规划的基本组成
(4)策略:一个由每个阶段的决策所组成的集合称为策略,用P 表示,即 P(s1)={u1(s1),u2(s2),……,un(sn)}一个 n阶段决策过程,从 1 到 n 叫作问题的原过程.对于任意给定的 k(1≤k≤n) ,从第 k 阶段 状 态 sk 到 第 n 阶 段 状 态 sn 的 过 程 称 为 原 过 程 的 一 个 后 部 子 过 程.后部子过程的策略记为 pk(sk)={uk(sk),uk+1(sk+1),......,un(sn)} , 在实际问题中,可供选择的策略有一定的范围,此范围成为允许 策略集合。允许策略集合中达到最优效果的策略成为最优策略. (5) 状态转移:动态规划中本阶段往往是上一阶段状态和上一阶 段的决策进行综合的结果.如果给定了第 k段的状态 sk,且该阶 段决策为uk(sk),则第k+1段的状态sk+1也就完全确定.它们的关 系可表示为:sk+1=Tk(sk,uk) 由于上式表示了由k阶段到k+1阶段的状态转移规律,所以称该式 为状态转移方程