动态规划二维分配问题.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
姓名 徐竞 17 评分 实验报告 课程名称: 动态规划 实验名称: 二维分配问题 专 业: 信息与计算科学 指导教师: 滕宇 完成日期: 2010年 04月 07日 综合实验报告 一、实验名称 二维分配问题实验报告 二、 实验目的 理解多维动态规划的含义及应用; 掌握一维、二维以及多维火力分配问题的计算方法与含义; 上机编写、调试二维火力分配问题的算法程序; 三、 实验要求 理解一维及二维火力分配问题的计算方法; 写出二维火力分配问题的模型; 理解二维火力分配问题中拉格朗日乘数法逐次逼近法粗格子点法(疏密法)火力分配问题,更一般提法,它是属于资源分配问题一类的。所谓资源分配问题,就是供应量有限的一种或若干种资源(例如,原材料,资金,机器设备,劳力,食品,武器,兵力等),分配给若干个使用者(或打击目标),而使非线性规划的数学模型: 五、 实验题目 设有3架敌机, 价值分别为=3, =2, =5, 用二种导弹射击,第一种导弹有6枚(m1=6),第二种导弹有10枚(m2=10), 其单发击毁概率如下表所示,求最优分配方案(xk, yk) ,k=1,2,3,。 目标 兵器 1 2 3 1 0.4 0.1 0.5 2 0.2 0.4 0.2 六、 实验步骤 由题意建立模型,设对空中敌机射击总效果为V,则有 ; (2) 根据拉格朗日乘数法降维#includeiostream #includemath.h using namespace std; float maxc;int y,xf; float v1[7],v2[7],v3[7],f2[7],f1[7]; int y11[7],y12[7],y13[7],xfi[7],xfj[7]; //定义数据 float factorial(float a,int x) { if (x==0) return 1.0; else if (x==1) return a; else return a*factorial(a,x-1); } void comparemax(int a,float b,float c,int x,float para) {int i;float ku[11]; for(i=0;i=10;i++) ku[i]=a*(1-factorial(b,x)*factorial(c,i))-para*i; //对第二种导弹(10颗)对目标的射击情况进行列举 maxc=ku[0]; for(i=0;i=10;i++) {if(ku[i]=maxc) { maxc=ku[i]; y=i; //找出各种情况的最大解 } } } void funck2(float para) { for(int i=0;i=6;i++) { comparemax(2,0.9,0.6,i,para); v2[i]=maxc; y12[i]=y; comparemax(5,0.5,0.8,i,para); v3[i]=maxc; y13[i]=y; } float f[7];int j=0; for(int x=0;x=6;x++) { for(int x2=0;x2=x;x2++) f[x2]=v2[x2]+v3[x-x2]; maxc=f[0]; for(int i=0;i=x;i++) { if(f[i]=maxc) { maxc=f[i]; xf=i; } } f2[j]=maxc;xfi[j]=xf;++j; } } void funck1(float para) { funck2(para); for(int i=0;i=6;i++) {

文档评论(0)

smdh + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档