电脑桌面
添加小米粒文库到电脑桌面
安装后可以在桌面快捷访问

动态规划matlab仿真实例

动态规划matlab仿真实例_第1页
1/5
动态规划matlab仿真实例_第2页
2/5
动态规划matlab仿真实例_第3页
3/5
动态规划在火力分配中得应用。1. 问题描述设 有 m 个 目 标 , 目 标 价 值 ( 重 要 性 与 危 害 性 ) 各 不 相 同 , 用 数 值 AK(K =1,2,、、m)表示,计划用n枚导弹突袭,导弹击毁目标得概率 PK=,其中就是常数,取决于导弹得特性与目标得性质;为向目标发射得导弹数,问题:做出方案使预期得突击效果最大.2. 问题建模上述问题可以表述为 约束条件为 (为非负整数)3. 算法描述下面通过一个实例说明:设目标数目为4(m=4),导弹为 5(n=5),与 aK取值情况如下表所示: 表1:A k 取值情况目标 K123487630、20、30、50、9将火力分配可分为 4 个阶段,每个阶段指标函数为: 可能取值为0,1,2,3,4,5,将函数值带人如下表:表 2 函数值u0000011、4 51、812、3 61、7 922、6 43、1 63、7 92、5 133、6 14、154、6 62、8 144、4 14、895、1 92、9355、065、445、512、97动态规划问题基本方程为: c=0逐次向前推一级K=4 K=3 K=2 K=1 ()只需要求解得最大值然后反推回去就可以获得最优得分配方案4. M a tlab 仿真求解因为 与取值为整数,可以采纳动态规划得方法,获得得最大值,对应得最优方案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(tmp1(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) %t_vub f_opt(i,k)=tmp; d_opt(i,k)=u(j); t_vubm(i,k)=tmp; end; end;end for ii=k—1:—1:1 tmp10=find(x_isnan(:,ii)); tmp20=length(tmp10); for i=1:tmp20 %求出当前状态下所有可能得决策 u=feval(DecisFun,ii,x(tmp10(i),ii)); tmp30=length(u) ; ...

1、当您付费下载文档后,您只拥有了使用权限,并不意味着购买了版权,文档只能用于自身使用,不得用于其他商业用途(如 [转卖]进行直接盈利或[编辑后售卖]进行间接盈利)。
2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。
3、如文档内容存在违规,或者侵犯商业秘密、侵犯著作权等,请点击“违规举报”。

碎片内容

动态规划matlab仿真实例

确认删除?
VIP
微信客服
  • 扫码咨询
会员Q群
  • 会员专属群点击这里加入QQ群
客服邮箱
回到顶部