数模论坛

 找回密码
 注-册-帐-号
搜索
热搜: 活动 交友 discuz
查看: 9011|回复: 20

反导弹系统的布防问题 题解 !!!

[复制链接]
发表于 2003-8-23 06:26:53 | 显示全部楼层 |阅读模式
“反导弹系统的布防”
大家是怎么解的呀?
我们只解了第一问
如下    请大家提意见    一齐把他补充完整

反导弹系统布防模型
【摘要】  针对反导弹系统的布防问题,本文在假设的前提下,根据提供的信息用Q值法加局部调整的方法,按照各战区的重要性,作出了一个相对“公平”的导弹分配方案,集中对调整理由作了说明,并给出了算法的c++描述,进一步讨论了爱国者导弹生产的数量问题。本文最后对这一模型进行了评述,对实际有一定的指导作用。
【关键词】   Q值法      目标价值      策略
一、        问题的提出

随着现代化军事战争的出现,军事武器的布防问题愈显重要,一个统筹全局的布防系统,往往会使自己在作战中处于主动,从而赢得战争。本题目就是一个关于反导弹系统布防问题,它要求根据各战区的重要性,分配合理的导弹数量,并计算出在国防经费有限的前提下的导弹生产数量。
二、        问题的假设

一、        战区的重要性因地理位置、设备配置、重要目标的数量以及与其它战区的联系等而不同。
二、        我们认为将爱国者导弹按战区的重要性“公平”分配到各战区中即可达到题目中所说的效益最好。
三、        在某个战区中的爱国者导弹,有能力保护所在战区的各个重要目标
四、        蓝方指挥官很明智,他通常会按红方战区的重要性来选择攻击目标。
五、        对一个相对极不重要的战区,在爱国者导弹数量匮乏的情况下,我们允许不在本战区内配置爱国者导弹。
六、        因国防经费有限,我们认为蓝方的一百枚导弹为其极限值,导弹数量不再增加。
七、        一个爱国者导弹仅能够拦截一枚地对地导弹。
八、        一个地对地导弹的威力范围不超过一个战区。
三、        符号说明
A(i)     红方第i个战区名;
n(i)      A(i)战区内的重要目标个数;
p          爱国者导弹的平均击中率;
q          中程地对地导弹的平均命中率;
a        A(i)战区的总价值;
b        A(i)战区的重要性系数:

i=1,2,3……k
四、        问题分析

按照假设,我们设出A(i)战区的重要性系数b,它是这个战区地理位置、与其它战区的联系等无形价值和设备配置、重要目标的数量、重要性等有形价值的综合体现。按照这个系数来合理分配各战区爱国者导弹数量,我们认为能够使得效益达到最优。
传统的按比例分配法往往会出现分配结果中含有小数,它采用取小数部分从大到小分配的方法予以处理,虽然能够体现一定的公平度,但是对于军事布局来说此种分配方法明显“公平度”不够,为了更合理的分配,我们采用Q值法加局部调整的方法进行分配。它根据相对不公平程度的大小多次调整,最终能够达到既合理又简明的分配方案。
用Q值法的过程中,如果在第一次按比例分配时,出现若干战区未分配到爱国者导弹。Q值法将无能为力。我们分情况调整处理如下:
1.当M<k :  蓝方地对地导弹数目少于红方战区数,红方某些战区一定不会受到蓝方导弹轰击。我们按照重要性系数从大到小为战区排序,按照假设,后k-M个战区被蓝方攻击的可能性较小。我们可以不在此设防。
[1]  N<M,此时爱国者导弹相对于战区数和蓝方导弹数较少,定会有k-N个战区分配不到爱国者导弹。不给后k-N个战区是理所当然的。如果还有战区没有分配到导弹,说明各战区重要性悬殊,我们应该用多数导弹去保护较为重要的目标而放弃那些不重要的,即这些战区也可以放弃。
[2]  N>=M,当去掉后k-M战区后,如果还有战区没有分配到导弹,说明各战区重要性悬殊,有必要放弃这些不重要的。
2. 当 M>=k:
[1]  N<k,此时爱国者导弹相对于战区数较少,定会有k-N个战区分配不到爱国者导弹。去掉后k-N个是理所当然的。如果还有战区没有分配到导弹,说明各战区重要性悬殊,我们需要用多数导弹去保护较为重要的目标而放弃那些不重要的,虽然蓝方导弹数目很多。
[2]  N>=k,如果有战区没有分配到导弹,说明各战区重要性很悬殊,这些战区相对来说极不重要,我们值得放弃。
通过以上分情况讨论,我们认为,当用Q值法在做第一次按比例分配时,如果出现若干战区未分配到爱国者导弹,我们可以将这些战区放弃,即不给其分配导弹,在以下的计算中只对剩下的战区再次分配导弹。

五、模型建立与求解
1.        第一问的求解

由问题分析我们采用以下具体步骤予以求解:
Step 1 设m=[N*b]  即按重要系数得出分配到各个战区的爱国者导弹的数量N*b后取整得出;
Step 2 若    ,说明爱国者导弹已经被合理的分配到各战区,模型建立完毕。否则,转入step 3继续执行;
Step 3 去掉m中为0的项得出新一组m[j]。以后不再考虑给n=0的战区分配导弹;

Step 4 计算Q[j]=a[j]2/[m[j]*[m[j]+1]]   
得出: Q[m]=max{Q[1],Q[2],……Q(j)},根据Q值法,显然爱国者导弹应该分配给Q(j)较大的战区Q[m];

Step 5  n[m]=n[m]+1。转至Step 2。

上述算法的C++实现为:
int sum1=0;
int sum=0;
for(int i=1;i<=k;i++)
sum1+=a;
for(int i=1;i<=k;i++)
{
m=N*a/sum1;
sum=sum+m;
}
for(i=N-sum;i>=1;i--)
{
for(int j=1;j<=k;j++)
if(m[j]!=0)
Q[j]=a2/[m*[m+1]];
else Q[j]=0;
int h,max=Q;
for(j=1;j<=k;j++)
if(max<Q)
{
max=Q;
h=i;
}
m[h]=m[h]+1;
}
2.第二问的求解
发表于 2003-8-23 17:30:12 | 显示全部楼层
可是我不会C++,看不懂你的程序!!
我只会C,能给我一个简单的讲解,好吗??
发表于 2003-8-24 06:47:58 | 显示全部楼层
问题分析就是编程的思想
发表于 2003-8-25 06:55:16 | 显示全部楼层
“反导弹系统的布防问题”很新颖。
发表于 2003-8-26 17:19:53 | 显示全部楼层
不错,有新意!
发表于 2003-8-27 02:45:34 | 显示全部楼层
把原题写出来好吗?不然怎么解2问啊
发表于 2003-8-27 16:23:04 | 显示全部楼层
对啊,没有原题,我们怎么看啊
只有你的解答啊
发表于 2003-8-27 16:28:02 | 显示全部楼层
看不懂啊
发表于 2003-8-27 22:05:26 | 显示全部楼层
把原题发到maths_zzg@yahoo.com.cn
                                                                  谢谢!
                  没有题我们怎么明白呢?
发表于 2003-8-27 22:06:44 | 显示全部楼层
把原题发到maths_zzg@yahoo.com.cn
                                                                  谢谢!
                  没有题我们怎么明白呢?
您需要登录后才可以回帖 登录 | 注-册-帐-号

本版积分规则

小黑屋|手机版|Archiver|数学建模网 ( 湘ICP备11011602号 )

GMT+8, 2024-11-26 23:26 , Processed in 0.051873 second(s), 18 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表