范文健康探索娱乐情感热点
投稿投诉
热点动态
科技财经
情感日志
励志美文
娱乐时尚
游戏搞笑
探索旅游
历史星座
健康养生
美丽育儿
范文作文
教案论文

MATLAB使用蒙特卡洛算法求解线性整数规划和01规划

  蒙特卡洛方法是一种利用计算机的随机数理论模拟实际的情况的一种方法。今天主要是以实例讲解蒙特卡洛方法的MATLAB编程实现求解线性整数规划和0-1规划。
  实例1
  首先使用intlinprog线性整数规划求解函数对该线性规划进行求解,该函数的语法如下:    x = intlinprog(f,intcon,A,b)     x = intlinprog(f,intcon,A,b,Aeq,beq)     x = intlinprog(f,intcon,A,b,Aeq,beq,lb,ub)     x = intlinprog(f,intcon,A,b,Aeq,beq,lb,ub,x0)     x = intlinprog(f,intcon,A,b,Aeq,beq,lb,ub,x0,options)     x = intlinprog(problem)     [x,fval,exitflag,output] = intlinprog(___)     %intlinprog函数标准型     %x = intlinprog(f,intcon,A,b,Aeq,beq,lb,ub)     %f——系数阵     %intcon——变量个数     %A,b:不等式限制条件Ax<=b中的A和b     %Aeq,beq:等式限制条件中的Aeq*x=beq中的Aeq和beq     %lb,ub:自变量的最小值和最大值     用[x , Fval]代替上述各命令行中左边的x,则可得到在最优解x处的函数值Fval     [x,fval]=intlinprog(f,intcon,A,b,Aeq,beq,lb,ub)
  程序clc; clear all; f=[-5 -8]; A=[1 1;5 9]; b=[6 45]; lb=zeros(2,1); intcon=[1 2]; [x,fval]=intlinprog(f,intcon,A,b,[],[],lb,[]); fprintf("max f(x) 在x1 = %f x2 = %f  处取得最大值:%f ",x(1),x(2),-fval);
  运行结果LP:                Optimal objective value is -41.250000.                                              Heuristics:        Found 1 solution using ZI round.                                                                     Upper bound is -39.000000.                                                                           Relative gap is 2.50%.                                                             Cut Generation:    Applied 1 Gomory cut.                                                                                Lower bound is -40.000000.                                                                           Relative gap is 0.00%.                                                               Optimal solution found.   Intlinprog stopped at the root node because the objective value is within a gap tolerance of the optimal value, options.AbsoluteGapTolerance = 0 (the default value). The intcon variables are integer within tolerance, options.IntegerTolerance = 1e-05 (the default value).   max f(x) 在x1 = 0.000000 x2 = 5.000000  处取得最大值:40.000000
  蒙特卡洛求解线性整数规划程序
  主程序(使用floor向下取整函数)
  floor函数floor - 朝负无穷大四舍五入     此 MATLAB 函数 将 X 的每个元素四舍五入到小于或等于该元素的最接近整数。     Y = floor(X)     Y = floor(t)     Y = floor(t,unit)clc; clear all; rand("state",sum(clock));%初始化随机数发生器 f0=-inf; x0 = []; num = 1e7; tic%计时开始 for i=1:num     x=0 + 6*rand(2,1);%随机产生初始解     x1 = floor(x);%向下取整函数     [f,g]=mengte3(x1);%调用自定义函数计算     if sum(g<=0)==2         if f0<=f  %求最大值 如果当前值更优,则更新值             x0=x1;             f0=f;         end     end end toc%计时结束 fprintf("max f(x) 在x1 = %f x2 = %f  处取得最大值:%f ",x0(1),x0(2),f0);
  自定义函数mengte3.mfunction [f,g]=mengte3(x) %% f是目标函数  g(x)<=0 f=5*x(1)+8*x(2); x1 = x(1); x2 = x(2); g=[x1+x2-6;   5*x1+9*x2-45]; end
  运行结果历时 10.114315 秒。 max f(x) 在x1 = 0.000000 x2 = 5.000000  处取得最大值:40.000000
  使用ceil向上取整函数求解ceil - 朝正无穷大四舍五入     此 MATLAB 函数 将 X 的每个元素四舍五入到大于或等于该元素的最接近整数。     Y = ceil(X)     Y = ceil(t)     Y = ceil(t,unit)
  主程序clc; clear all; rand("state",sum(clock));%初始化随机数发生器 f0=-inf; x0 = []; num = 1e7; tic%计时开始 for i=1:num     x=0 + 6*rand(2,1);%随机产生初始解     x1 = ceil(x);     [f,g]=mengte3(x1);%调用自定义函数计算     if sum(g<=0)==2         if f0<=f  %求最大值 如果当前值更优,则更新值             x0=x1;             f0=f;         end     end end toc%计时结束 fprintf("max f(x) 在x1 = %f x2 = %f  处取得最大值:%f ",x0(1),x0(2),f0);
  运行结果历时 11.714213 秒。 max f(x) 在x1 = 3.000000 x2 = 3.000000  处取得最大值:39.000000
  实例2
  首先使用intlinprog线性整数规划求解函数对该线性规划进行求解:
  程序clc; clear all; f=[-6 -2 -3 -5]; A=[-3 5 -1 -6;2 1 1 -1;1 2 4 5]; b=[-4 3 10]"; intcon=[1 2 3 4]; lb=zeros(4,1); ub=ones(4,1); [x,fval]=intlinprog(f,intcon,A,b,[],[],lb,ub); fprintf("max f(x) 在x1 = %f x2 = %f x3 = %f x4 = %f  处取得最大值:%f ",x(1),x(2),x(3),x(4),-fval);
  运行结果LP:                Optimal objective value is -14.500000.                                              Heuristics:        Found 1 solution using ZI round.                                                                     Upper bound is -13.000000.                                                                           Relative gap is 0.00%.                                                               Optimal solution found.   Intlinprog stopped at the root node because the objective value is within a gap tolerance of the optimal value, options.AbsoluteGapTolerance = 0 (the default value). The intcon variables are integer within tolerance, options.IntegerTolerance = 1e-05 (the default value).   max f(x) 在x1 = 1.000000 x2 = -0.000000 x3 = 1.000000 x4 = 1.000000  处取得最大值:14.000000 >>
  蒙特卡洛求解0-1规划程序
  主程序(四舍五入round函数)clc; clear all; rand("state",sum(clock));%初始化随机数发生器 f0=-inf; x0 = []; num = 1e7; tic%计时开始 for i=1:num     x=0 + 1*rand(4,1);%随机产生初始解     x1 = round(x);%利用四舍五入round函数0-1变量     [f,g]=mengte4(x1);%调用自定义函数计算     if sum(g<=0)==3         if f0<=f  %求最大值 如果当前值更优,则更新值             x0=x1;             f0=f;         end     end end toc%计时结束 fprintf("max f(x) 在x1 = %f x2 = %f  x3 = %f x4 = %f  处取得最大值:%f ",x0(1),x0(2),x0(3),x0(4),f0);
  自定义函数mengte4.mfunction [f,g]=mengte4(x) %% f是目标函数  g(x)<=0 f=6*x(1)+2*x(2)+3*x(3)+5*x(4); x1 = x(1); x2 = x(2); x3 = x(3); x4 = x(4);   g=[-3*x1+5*x2-x3-6*x4+4;   2*x1+x2+x3-x4-3;   x1+2*x2+4*x3+5*x4-10]; end
  运行结果历时 11.086100 秒。 max f(x) 在x1 = 1.000000 x2 = 0.000000  x3 = 1.000000 x4 = 1.000000  处取得最大值:14.0
  本文内容来源于网络,仅供参考学习,如内容、图片有任何版权问题,请联系处理,24小时内删除。
  作 者 | 郭志龙
  编 辑 | 郭志龙
  校 对 | 郭志龙

从希望到失望,里皮为何突然不灵了,一切都是局,一帮害人精中国足球究竟是球员不行,还是教练不行,这是球迷一直想要去搞清楚的一个问题。直到里皮两次执教国足,这个问题才得以明了。里皮是世界名帅,曾经带着意大利在世界杯上夺冠,人称银狐。广州恒大潮流一网打尽篮网队城市版球衣鉴赏20172018赛季20172018赛季的城市版球衣乍一看与常规球衣没有区别,实则暗藏玄机。球衣上布满了灰色的细条纹,如同布鲁克林的标志性建筑布鲁克林大桥上的钢索。胸前则写了完整的终于回来了!19岁谷爱凌坐飞机抵达上海,行程曝光,中国健儿回家谷爱凌从去年4月底前往美国读书,被名校斯坦福大学录取了,而且以接近满分的成绩,真的太优秀,谷爱凌接近1年时间一直在海外,她在北京冬奥会上帮助中国队夺得2金1银,成为大家心中的骄傲。中国足球扫黑,人人自危球员发朋友圈,证明自己没被抓中国足球的扫黑风暴,仍在进行中,前国足主帅李铁足协主席陈戌源涉嫌违法被查,更有消息指出,不少中超现役球员被直接拷走。反腐扫黑行动仍在继续之中,可能还会有重要人物落网陈戌源如今的中国南宁青秀山赏花正当时,城管队员24小时全天候不间断定点值守巡查邕城三月,春光明媚,南宁市青秀山风景区春意盎然,桃花樱花和黄花风铃木等百花齐放,吸引了八方游客前来观赏。近日,南宁市青秀山城管综合执法队开展24小时全天候不间断定点值守和巡查工作,成都22区县GDP成绩单高新第1,金牛领先成华,都江堰第17作为全国第7个GDP突破2万亿的城市,这些年来成都的经济发展的飞快,整体的综合实力也在不断提升,并在近几年成为了西部地区综合实力最强的城市和西部地区经济发展的核心城市。在2022年百年全英赛迎来00后男单冠军,国羽成绩有惊喜亦需清醒来源人民日报中央厨房哨声体育工作室北京时间3月19日深夜,英国伯明翰,有着百年历史的全英羽毛球公开赛迎来首位00后男单冠军。中国队23岁小将李诗沣战胜队友石宇奇,首次闯入世界羽联巡前中超球员看出队友参与赌球但对此也无能为力据中国新闻周刊的最新报道称,有前中超球员向他们透露,虽然知道身边有队友参与了赌球,但自己对此也无能为力。此前有多方媒体消息称,近期大批球员因涉嫌参与赌球被公安机关带走调查,随后有媒梅西瞧不起中国足球吗?阿根廷国家队来中国行发出声明,行程公布自从中国足球出现一系列事件之后,中国足球在世界上又出名了,而且出名都是负面,导致很多球队都怕与中国足球产生联系,即使以前订好的合作也会凉,这就是现实,如今阿根廷国家队来中国行已经做官方哈兰德因腹股沟疼痛退出本期挪威国家队北京时间3月21日,据挪威国家队官方消息确认,哈兰德由于腹股沟伤势将无法出战本期的国家队比赛,他将返回曼城俱乐部接受治疗。在上周末的英格兰足总杯曼城60大胜伯恩利的比赛中,哈兰德在小程序如何引流到私域?附近的小程序首先开启附近小程序功能,基于LBS定位,你的小程序将展现在周边五公里用户的手机里,实现区域曝光。建立社群打造私域在建群的同时,可以结合着个人号的使用,牢牢抓住目标用户,
新能源汽车充电量涨幅Top8城市,有没有你的家乡?今年十一,受疫情影响,不少人对于长途远行的意愿降低,更倾向于选择距离较近的省内游,这也让以本地游近郊游为主的微旅行快速发展起来,成为假期出行的新热点。由于出行距离较短,很多新能源车陕煤集团柠条塔矿业副总工程师高永军煤矿井下管路安装机器人研发与应用文章来源智能矿山2022年第8期矿山机器人专栏第一作者高永军,政工师,现任陕煤集团神木柠条塔矿业有限公司副总工程师,主要从事煤矿机电智能化建设与管理方面的工作。引用格式高永军,谭震青木川旅游景点介绍,游览这11处,细品比乌镇还美的传奇古镇青木川旅游景点介绍1回龙场老街,古镇主街。2荣盛魁,国内少有的船型建筑。3魏氏宅院,魏辅唐的宅子。4烟馆,当年瘾君子腾云吐雾的地方。5回龙阁,观赏青木川全景之地。6飞凤桥,连接新街湄洲岛党工委书记吴海端海岛越来越好,保持旅游热潮来源人民网湖石淉生态公园是福建省莆田市湄洲岛上唯一的天然淡水湖,岛上的居民曾把它叫做龙须沟,经过多年来增绿治水改善提升,如今已经变身为一个占地超千亩的大型生态湿地公园。湖石淉生态公美国够狠!核弹笼罩下的马绍尔群岛马绍尔群岛共和国,面积181。3平方公里,专属经济区213。1万平方公里,有1225个岛礁组成,首都马朱罗,现有人口5万多。马绍尔群岛,就像散落在南太平洋上的明珠,这里环境优美,空中国唯一没有平原的省份,悬崖峭壁建房子,过于低调的旅游胜地它是一个极为矛盾的城市。一方面,它十分张扬,在国际上声名显赫联合国世文会全球十大旅行首选地纽约时报一生必去的地方孤独星球中国最值得去的地区之一一方面,它却十分低调,国人对它的印象大舟山群岛高铁建成后人口去向预测今天看到浙江舟山跨海铁路即将开工的消息,遂和同事聊天,预测其中的利弊。所谓要想富先修路,这本身并无坏处,同事,高铁的建成通车对于无铁路的舟山意义非凡。但对常住人口的落地效果却可能并黑海出口协议或暂停,美国进口玉米至我国完税成本创下新高关注每日粮油,了解全球市场。尽管此前联合国有关方面表示,会积极协调促成黑海谷物协议延期,但来自俄罗斯方面的消息却显示,俄罗斯认为在黑海谷物出口协议中受到欺骗,涉及俄罗斯粮食和化肥进这座海岛只允许中国人登岛游玩,海水五彩斑斓,景色非常梦幻国庆去哪儿玩中国有一座外国人不能游玩的海岛,海水五彩斑斓,景色非常梦幻!中国有一座不允许外国人游玩的海岛她就是美丽的西沙群岛她由永乐群岛和宣德群岛构成由海南省三沙市西沙区管辖灯塔界清官告老还乡,为充富翁用马拉几箱砖头,乾隆得知后全换成金子贪官污吏自古以来便被人们所愤恨,历朝历代为了防止官员贪污,惩罚官员贪污,那都是想尽了各种严刑酷法。例如明朝的朱元璋,只要对于贪污犯都是剥皮实草,株连九族,这种残忍的酷刑一时之间让贪浙江舟山群岛一个被写进歌里却并不遥远的地方长涂岛长涂岛位于浙江舟山群岛北部,岱山本岛以东,东极岛以西,共有两个岛屿(大长涂岛和小长涂岛)组成,两岛相峙群山绵延,夹成一港。大长涂岛长涂岛地处舟山渔场中心,以盛产金色大黄鱼银色鲳鱼而