[转载]matlab 规划问题 利用蒙特卡洛法(随机取样法)解

标签:
转载 |
分类: MATLAB |
例 已知非线性整数规划为:
http://s10/bmiddle/728fa783gx6C0u41rT339&690规划问题 利用蒙特卡洛法(随机取样法)解" TITLE="[转载]matlab 规划问题 利用蒙特卡洛法(随机取样法)解" />
解 (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
x1=floor(x);x2=ceil(x);
[f,g]=mengte(x1);
if sum(g<=0)==4
end
[f,g]=mengte(x2);
if sum(g<=0)==4
end
end
x0,p0
toc