注册地址 登录
数学建模社区-数学中国 返回首页

kelanlangzi的个人空间 http://www.madio.net/?249054 [收藏] [复制] [分享] [RSS]

日志

用蒙特卡洛求解非线性规划

已有 263 次阅读2011-3-31 19:46 |

main.m
%数学建模与数学实验
%用蒙特卡洛求解非线性规划
clc
clear
n = 100;
for i = 1:n
    m(i) = -mylp(randlp);
end
pmMAX = sum(m)/n

 
function [sol,r1,r2] = randlp(a,b,n)
debug = 1;
a = 0;
b = 10;
n = 1000;
r1 = unifrnd(a,b,n,1);
r2 = unifrnd(a,b,n,1);
sol = [r1 r2];
z0 = inf;
for i = 1:n;
    x1 = r1(i);
    x2 = r2(i);
    lpc = lpconst([x1 x2]);
    if lpc == 1
        z = mylp([x1 x2]);
        if z < z0
            z0 = z;
            sol =[x1 x2];
        end
    end
end

 
function z = mylp(x)
z = 2*x(1)^2+x(2)^2-x(1)*x(2)-8*x(1)-3*x(2);
 
function lpc = lpconst(x)
if 3*x(1)+x(2)-10 <= 0.5 & 3*x(1)+x(2) >= -0.5
    lpc = 1;
else
    lpc = 0;
end

路过

雷人

握手

鲜花

鸡蛋

评论 (0 个评论)

facelist doodle 涂鸦板

您需要登录后才可以评论 登录 | 注册地址

qq
收缩
  • 电话咨询

  • 04714969085

关于我们| 联系我们| 诚征英才| 对外合作| 产品服务| QQ

手机版|Archiver| |繁體中文 手机客户端  

蒙公网安备 15010502000194号

Powered by Discuz! X2.5   © 2001-2013 数学建模网-数学中国 ( 蒙ICP备14002410号-3 蒙BBS备-0002号 )     论坛法律顾问:王兆丰

GMT+8, 2024-5-10 06:38 , Processed in 0.242928 second(s), 27 queries .

回顶部