整数规划蒙特卡洛模拟(Matlab实现)(1)-程序员宅基地

技术标签: matlab  程序员  服务器  数据库  

2 案例


目标函数:求函数的最大值。

f=2x_{1}+3x_{1}{2}+x_{2}{2}+x_{3}

约束条件

x_{1}+2x_{1}{2}+x_{2}+2x_{2}{2}+x_{3}\leqslant 100

x_{1}+x_{1}{2}+x_{2}+2x_{2}{2}+x_{3}\leqslant 500

2x_{1}+x_{1}^{2}+x_{2}+x_{3}\leq 400

x_{}+2x_{2}\geqslant 10

x_{1},x_{2}) 是整数

3 Matlab实现


clear

clc

rand(‘state’,sum(clock)); %产生非重复随机数

%设置该命令是因为每次产生随机数的时候,随机数生成器触发器的状态都会翻转一次。

%matlab生成的随机数是伪随机数,因此可生成时间相关的随机数,总之和当前时间相关。

%如果计算机运算太快的话,可能会生成相同随机数

p0=0; %p0为函数最大值

tic%计时开始

for i=1:10^7%只要次数够高,最后肯定是实际的最优值

x=randi([0,99],1,3);%产生一行三列的区间在【0,99】上的随机整数

f=2x(1)+3x(1)2+3*x(2)+x(2)2+x(3);%主函数

g=[x(1)+2*x(1)2+x(2)+2*x(2)2+x(3)

x(1)+x(1)2+x(2)+x(2)2-x(3)

2x(1)+x(1)^2+2x(2)+x(3)

x(1)+2*x(2)];%条件

if g(1,1)<=100&&g(2,1)<=500&&g(3,1)<=400&&g(4,1)>=10

if p0<f%如果求最小值,则将if p0<f中的<改成>符号

x0=x;

p0=f;%记录当前较好的解

end

end

end

x0%x0为x1,x2,x3的值

p0%p0为函数最大值

toc%计时结束

自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。

深知大多数Python工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但对于培训机构动则几千的学费,着实压力不小。自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!

因此收集整理了一份《2024年Python开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。

img

img

img

img

img

img

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上前端开发知识点,真正体系化!

由于文件比较大,这里只是将部分目录大纲截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且后续会持续更新

如果你觉得这些内容对你有帮助,可以扫码获取!!!(备注Python)

**

由于文件比较大,这里只是将部分目录大纲截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且后续会持续更新

如果你觉得这些内容对你有帮助,可以扫码获取!!!(备注Python)

img
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/2401_83703893/article/details/137807873

智能推荐

Android从本地服务器获取Mp3实现边下边播(JavaEE+Tomcat+SQLServer)_android 音乐播放器实现边下载边播放-程序员宅基地

文章浏览阅读2.1k次,点赞3次,收藏6次。项目实例:https://download.csdn.net/download/qq_37437983/10484636实现环境:1)LenovoG50-80Ubuntu16.04笔记本2)AndroidStudio3)EclipseJ2EE4)Tomcat8.55)sqlServer 6)jdk1.8概..._android 音乐播放器实现边下载边播放

十六进制与字节数组转换_bytearraytohexstring-程序员宅基地

文章浏览阅读7.2k次。前段时间开发手持机上的软件,因为A8手持机的射频卡可存储的内容太小,并且需要存储16进制数据,因此就写了一个工具类。上代码:package cn.com.szh;import java.io.UnsupportedEncodingException;public class Main { public static void main(String[] args) { Stri..._bytearraytohexstring

对每个边缘求最小外接矩形,通过最小矩形提取每个边缘_边缘的最小外接矩形-程序员宅基地

文章浏览阅读4.9k次。#include #include using namespace std;using namespace cv;int main(){Mat src; //源图像Mat tmp; //临时图像Mat dst_bw; //去掉背景后的目标二值图像Mat dst_contours;//轮廓图像src=imread("E:\\单板图片\\求孔洞数_边缘的最小外接矩形

【设计模式】中介者-程序员宅基地

文章浏览阅读865次。中介者,说白了跟市面上黑中介类似。当然这个中介,开发者是可以控制其行为的。也是在一定的信任关系上建立的。该模式要解决的问题是,一堆对象之间交叉耦合问题。网上看过群聊的例子。如果没有任何一个平台,多人之间的会话会是什么样的呢?不举多人,就三个吧A想把一句话说给BC,那么他首先要知道B和C在哪儿,然后分别告诉对方,自己想说的事情。如果再加一个人呢?问题很明显,此时各种群聊工具应运而生。我写

Mysql列自增是怎么实现的_mysql 自增序列生成原理-程序员宅基地

文章浏览阅读1.8k次。AUTO_INCREMENT两种情况1、在载入语句执行前,已经不确定要插入多少条记录。在执行插入语句时在表级别加一个auto-inc锁,然后为每条待插入记录的auto-increment修饰的列分配递增的值,语句执行结束后,再把auto-inc锁释放掉。一个事务再持有auto-inc锁的过程中,其他事务的插入语句都要被阻塞,可以保证一个语句中分配的递增值是连续的。AUTO-INC锁的..._mysql 自增序列生成原理

半导体器件基础_掺杂半导体的带隙-程序员宅基地

文章浏览阅读3.5k次,点赞2次,收藏17次。半导体能带结构示意图:上方两条白色带为没有电子填充的带,下面三条灰色带为充满电子的带,其中最高一条灰色带为价带,它与最低一条白色带之间的空隙为能隙空穴又称电洞(Electron hole),在固体物理学中指共价键上流失一个电子,最后在共价键上留下空位的现象导带(英语:conduction band),又名传导带,是指半导体或是绝缘体材料中,一种电子所具有能量的范围。这个能量的范围高..._掺杂半导体的带隙

随便推点

AD(Altium Designer)导出BOM时出错处理_ad导出bom表不完整-程序员宅基地

文章浏览阅读1.1w次,点赞5次,收藏11次。Altium Designer导出BOM时弹出如下错误窗口问题分析出现这一问题的原因主要有三方面可能的原因。原因一:AD对Templates文件夹的访问权限不够原因二:Office没有安装或者未激活原因三:AD对Office软件的授权判断出错(AD的BUG)问题解决原因一:AD对Templates文件夹的访问权限不够方法1:可以在导出BOM时取消【相对路径到模板文件】选项。取消以后其实就是把模板文件复制到PCB工程中再使用,这样就能回避对上面提到的Template_ad导出bom表不完整

Hive中mapjoin优化例子_hive使用mapjoin实例-程序员宅基地

文章浏览阅读3.2k次。1 基本信息3个表,1个事实表,2个维度表事实表 test_fact (mid string,sex_id string,age_id string )维度表dim_user_demography_age (age_id string,age_name string )维度表dim_user_demography_sex (sex_id string,sex_name strin..._hive使用mapjoin实例

大学四年,从小白到大神,全网最硬核算法学习攻略,不接受反驳-程序员宅基地

文章浏览阅读2.6k次,点赞18次,收藏118次。说到算法的学习方式,对我来说,真的没有什么捷径之类的,就是像我上面说的,先找本书死磕入门数据结构,就跟着书的例子,把例子跑起来就好了,跑起来也不是一件简单的事情。之后就去接触下一些算法思想,后面就可以分类刷题了,刷题就是最好的捷径了。当然,不要 AC 之后就完事了,应该尽可能寻找最优解,当你积累了一定的题量,那么你真的会发现自己变强了,突然感觉递归也就那么一回事。_算法学习

解决ERR! request to http://registry.cnpmjs.org/echarts failed, reason: getaddrinfo ENOTFOUND 报错问题_getaddrinfo enotfound registry.cnpmjs.org-程序员宅基地

文章浏览阅读2.1k次,点赞9次,收藏12次。这里我看其他博主运行完 config set registry https://registry.npm.taobao.org/这个之后又运行了npm install -g cnpm --registry=https://registry.npm.taobao.org ,结果我还是一直报错,可能是没理解其他博主的意思,反正运行完config set registry https://registry.npm.taobao.org/之后直接安装就好了。如果是其他,你使用的是代理,需要在 npm 中配置代理。_getaddrinfo enotfound registry.cnpmjs.org

QT 出现“找不到libgcc_s_dw2-1.dll”的解决方式_qt打包缺少libgcc_s_dw2-1.dll-程序员宅基地

文章浏览阅读5k次。在使用QT时,运行程序时,可能出现QT找不到DLL的问题,这种情况大多数情况是因为没有将QT添加到环境变量的原因。解决方式:我的电脑-高级设置-环境变量将QT的两个bin文件目录路径添加到环境变量中,即可解决这个问题!..._qt打包缺少libgcc_s_dw2-1.dll

Socket网络编程-程序员宅基地

文章浏览阅读1.5w次,点赞15次,收藏74次。Socket1 环境查看通过cmd窗口的命令:ipconfig查看本机IP地址查看网络情况是否正常:ping百度官网用来进行本地测试的地址 127.0.0.1,回环测试地址,默认代表的就是本机的IP2 Socket概述socket编程也叫套接字编程,应用程序可以通过它发送或者接受数据,可对其像打开文件一样打开/关闭/读写等操作.套接字允许应用程序将I/O插入到网络中,并与网络中的其他应用程序进行通信.网络套接字是IP地址与端口号TCP协议的组合Socket就是为网络编程提供的一_socket网络编程

推荐文章

热门文章

相关标签