正在加载图片...
任一个点能落在高值区的概率分别为 1-0.9900.99…99(100多位), 1-0.99990009954602。 解(i)首先编写M文件 mente. m定义目标函数f和约束向量函数g,程序如下 function [f, g]=mengte(x)i f=x(1)^2+x(2)^2+3*x(3)^2+4*x(4)^2+2*x(5)-8*x(1)-2*x(2)-3*x(3) x(4)-2*x(5); g=[sum(x)-400 x(1)+2*x(2)+2*x(3)+x(4)+6*x(5)-800 2*x(1)+x(2)+6*x(3)-200 x(3)+x(4)+5*x(5)-200]; (ii)编写M文件 mainint.m如下求问题的解 rand( state, sum(clock)) tic x=99*rand(5,1) xl=floor(x): x2=ceil(x) If, g]=mengte (x1) if sum(g<=0)==4 if pO< end end If, g]=mengte(x2) if sum (g<=0)==4 x0=x2;p0=f; end 本题可以使用 LINGO软件求得精确的全局最有解,程序如下: row/1..4/:b; co1/1..5/:c1,c2,x link(row, col): ai endsets c1=1,1,3,4,2 a=11111 12216 21600-22- 任一个点能落在高值区的概率分别为 1− 0.991000000 ≈ 0.99L99(100多位), 1 0.99999 0.999954602 1000000 − ≈ 。 解 (i)首先编写 M 文件 mente.m 定义目标函数 f 和约束向量函数 g,程序如下: function [f,g]=mengte(x); f=x(1)^2+x(2)^2+3*x(3)^2+4*x(4)^2+2*x(5)-8*x(1)-2*x(2)-3*x(3)-... x(4)-2*x(5); g=[sum(x)-400 x(1)+2*x(2)+2*x(3)+x(4)+6*x(5)-800 2*x(1)+x(2)+6*x(3)-200 x(3)+x(4)+5*x(5)-200]; (ii)编写M文件mainint.m如下求问题的解: rand('state',sum(clock)); p0=0; tic for i=1:10^6 x=99*rand(5,1); x1=floor(x);x2=ceil(x); [f,g]=mengte(x1); if sum(g<=0)==4 if p0<=f x0=x1;p0=f; end end [f,g]=mengte(x2); if sum(g<=0)==4 if p0<=f x0=x2;p0=f; end end end x0,p0 toc 本题可以使用LINGO软件求得精确的全局最有解,程序如下: model: sets: row/1..4/:b; col/1..5/:c1,c2,x; link(row,col):a; endsets data: c1=1,1,3,4,2; c2=-8,-2,-3,-1,-2; a=1 1 1 1 1 1 2 2 1 6 2 1 6 0 0
<<向上翻页向下翻页>>
©2008-现在 cucdc.com 高等教育资讯网 版权所有