matlab-整数规划(非线性规划之蒙特卡洛法(随机取样法))
2024-10-09 02:28:29
首先编写M 文件mengte.m 定义目标函数f 和约束向量函数g,程序如下:
function [f,g]=mengte(x);%定义目标函数f和约束向量函数g
f=x()^+x()^+*x()^+*x()^+*x()-*x()-*x()-*x()-x()-*x();
g=[sum(x)-
x()+*x()+*x()+x()+*x()-
*x()+x()+*x()-
x()+x()+*x()-];注:文件名一定要与定义的函数名一致!
编写M文件mainint.m如下求问题的解:
rand('state',sum(clock));
p0=;
tic %tic表示计时的开始,toc表示计时的结束
for i=:^
x=*rand(,) %rand函数产生0-1之间的随机数,表明了0=<xi<=
x1=floor(x); %floor朝负无穷方向取整
x2=ceil(x); %ceil朝正无穷方向取整 [f,g]=mengte(x1);
if sum(g<=)==
if p0<=f
x0=x1;p0=f;
end
end
[f,g]=mengte(x2);
if sum(g<=)==
if p0<=f
x0=x2;p0=f;
end
end
end
x0,p0
toc
MATLAB中四个取整函数具体使用方法如下:
Matlab取整函数有: fix, floor, ceil, round.
fix
朝零方向取整,如fix(-1.3)=-1; fix(1.3)=1;
floor
朝负无穷方向取整,如floor(-1.3)=-2; floor(1.3)=1;
ceil
朝正无穷方向取整,如ceil(-1.3)=-1; ceil(1.3)=2;
round
四舍五入到最近的整数,如round(-1.3)=-1;round(-1.52)=-2;round(1.3)=1;round(1.52)=2。
最新文章
- 小身材大用途,用PrimusUI驾驭你的页面
- Git学习笔记(Mac Linux系统)
- linux下的C语言开发
- UVa10820 Send a Table[欧拉函数]
- 正则表达式学习笔记(附:Java版示例代码)
- js作用域和词法分析
- Android Studio系列教程六--Gradle多渠道打包
- console.log的一个应用 -----用new方法生成一个img对象和document.createElement方法创建一个img对象的区别
- linux上一些命令
- struts_ognl详解
- jQuery模板插件jsrender
- Android中怎么去除标题栏详解
- spring No adapter for handler 错误
- java设计模式---合成模式3
- java---- XMLEncoder 和 XMLDecoder 和 xSteam工具使用
- SpringBoot 配置Redis
- SpringBank 开发日志 使用maven构建dubbo服务的可执行jar包
- 一个简单需求:HashMap实现相同key存入数据后不被覆盖
- python安装虚拟环境virtualenv
- shell中括号的特殊用法 linux if多条件判断
热门文章
- 王艳 201771010127《面向对象程序设计(Java)》第四周学习总结
- Gym101612H Hidden Supervisors
- LA3942 Remember the Word
- Gym100548F Color
- 如何同时关联多个远程仓库,实现一次 push 多站提交(github + gitee)
- Map.Entry的作用
- [Firefox附加组件]0002.添加菜单项
- [256个管理学理论]002.青蛙效应(Frog Effect)
- WebServer远程部署
- Java实现 LeetCode 827 最大人工岛(DFS+暴力模拟)