matlab 整数规划 非线性,非线性整数规划matlab
例已知非線性整數規劃為
max z=x 12+x 22+3x 32+4x 42+2x 52?8x 1?2x 2?3x 3?x 4?2x 5
s.t.
0?x i ?99,i =1,2,?5x 1
+x 2+x 3+x 4+x 5?400x 1+2x 2+2x 3+x 4+6x 5?8002x 1+x 2+6x 3?200x 3+x 4+5x 5?200 (1)編寫M 文件mengte.m,定義目標函數f 和約束向量函數g ,程序如下: function[f,g]=mengte(x);
f=x(1)^2+x(2)^2+3*(3)^2+4*x(4)^2+2*x(5)^2-8*x(1)-2*x(2)-3*x(3)-x(4)-2x(5); g(1)=sum(x)-400;
g(2)=x(1)+2*x(2)+2x(3)+x(4)+6*x(5)-800
g(3)=2x(1)+x(2)+6x(3)-200;
g(4)=x(3)+x(4)+5*x(5)-200;
(2)編寫如下程序求問題的解:
rand('state',sum(clock));
p0=0;
tic
for i=1:10^5
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
總結
以上是生活随笔為你收集整理的matlab 整数规划 非线性,非线性整数规划matlab的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 25th Sept 2014:《数学分析
- 下一篇: 9*6工作制度真的不适合我们