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

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小时内删除。
  作 者 | 郭志龙
  编 辑 | 郭志龙
  校 对 | 郭志龙

湖南省自然资源厅赴长沙开展调研为深入学习宣传贯彻党的二十大精神,落实省委十二届三次全会乘势而上奋力谱写中国式现代化湖南篇章的决议精神,12月1日下午,湖南省自然资源厅党组书记厅长陈仲伯一行赴长沙市自然资源和规划缺少劳动管理能否构成劳动关系?判断快递企业与劳动者是否构成劳动关系,要依据劳动和社会保障部关于确立劳动关系有关事项的通知(2005)12号的规定,其核心内容为接受用人单位的管理,从事用人单位安排的工作。如果缺少用志愿服务温暖一座城,擦亮幸福底色红网时刻新闻记者姚宇超长沙报道志愿者是文明城市创建的生力军,志愿服务是城市文明风尚的新标志。今年12月5日是第37个国际志愿者日。党的二十大报告提出,统筹推动文明培育文明实践文明创孔子博物馆获评中国华侨国际文化交流基地大众网海报新闻记者李慧济宁报道近日,经综合评审,中国侨联确认了第十批中国华侨国际文化交流基地。济宁市孔子博物馆位列名单之中。孔子博物馆(资料图)孔子博物馆是为传承弘扬以儒家思想为代剧本杀上线外卖服务起价108元消费者真爱玩,但真不值依托于线下实体店的剧本杀业务,如今也在寻求新业态。近段时间剧本杀外卖热度持续升级,北京商报记者调查发现,剧本杀外卖的费用方面,往往包含盒装本服装租借道具等游戏必备元素,另有DM(即顶级羊绒品牌都有啥?别再只盯着MaxMara一提到羊绒,绝对绕不开的品牌非LoroPiana莫属了。LoroPiana是意大利最顶级的羊绒制造商,以简约隽永的设计理念精湛的制作工艺闻名世界,被称为羊绒界的劳斯莱斯如果你想买一摩迪莲姿原创服装品牌发布会在广清中大时尚城成功举办丨2022广东时装周12月2日,广州市工贸技师学院摩迪莲姿原创服装品牌发布会作为2022广东时装周秋季特别活动在广清中大时尚城成功举办。疫情当下,社会之变行业之变带来生产经营新品发布和传播方式的转变。新时代的消费者还是上帝吗?互联网企业相当于建立了一个新的平台,规则早在平台创立之初已经订好,能任意修改规则与条例的只有平台所有者(创立者),使用者(即消费者)只能被动的接受或者不使用平台,连拒绝的权利都没有网爆天猫国际电商平台网售境外食品无中文标签消费者如何维权2022年双11,天猫国际又有新动作,每日经济新闻报道,10月26日,天猫国际海外直购业务正式升级,发布全新品牌全球探物。跨境消费的确满足人民群众对美好生活的物质需要,足不出户的可小众品牌Santa。Brand乌克兰Santa来自乌克兰品牌受大胆创新的00年代美学启发,乌克兰品牌为喜欢派对氛围并知道如何随时随地营造派对氛围的人们提供万无一失的解决方案俏皮又优雅,性感又不失随意SantaBran小众品牌Amlul西班牙Amlul创立于2019年创始人兼创意总监GalaGonzlezGalaGonzlez此前他在时尚行业拥有10多年的专业化经验,并获得了全球认可Amlul成立不到一年时候,其价值观
我在春天等花开文刘丽从看见第一朵儿迎春花开,我就开始盼着春天的到来,比盼望着过年还多一些的盼望。春天就在这盼望中,一步一步地向我们走来,像一个刚刚学会走路的孩子,走得摇摇晃晃,走得战战兢兢,偶尔边拍边画丨把绿色和春天装在你的口袋里春日烂漫,越来越多的色彩映入眼帘让人目不暇接。黄浦区迷你可爱的口袋公园,小而精致。处处充满着生机,盎然的春色引来市民朋友们驻足。大老远从地铁口就能一眼瞥到的可爱小木屋,原来是黄浦市百里闻香绵竹酒,天下何人不识君唐时宫廷酒,今日剑南春。一句广告语,道出了剑南春的历史。在唐朝时期,剑南烧春作为宫廷御酒而被载于旧唐书德宗本纪,是被载入正史的宫廷御酒,也是中国至今尚存的唐代名酒。剑南春在唐朝闻名春天到啦,你吃榆钱窝窝了吗?周末,带着孩子来到外婆家。进家一眼就看到了桌上放着的绿油油的榆钱儿,果不其然,妈妈又要做好吃的咯!做榆钱窝窝是妈妈的拿手活儿,把洗好的榆钱沥干水分,加入适量的面粉,再加入盐,搅拌均女生应该怎样塑造臀部?学会这6个动作,让你的曲线越来越美丰满的臀部是大部分女性的追求,但是没有挺翘只有横向增长的大屁股,就不是女生们的追求了。挺翘丰满的臀部会给女性加分无数,让女性看起来更加性感妖娆,但是过大的肥臀只会使女性看起来比例失别灰心,老天安排你经历这些,其实,都是在帮你告诉你,活在这世上,难免会踩坑,会遇到各种磨难。但,如果你不幸遇到了这些,我真诚地奉劝你,别灰心,别失望,别气馁。这不幸,恰好是老天故意安排给你的,是它特意让你遇上。然后,让你在未人生无常,我们淡然从容世事薄凉,我们静心以对作者子墨春天是多彩的,五颜六色的花儿争相绽放,各种颜色搭配,也是美得恰到好处了。春天的日子,总是美好的,有美丽的风景可以欣赏,有闲逸的日子可以让自己安静下来,即便是窗外天空中飘过的这5本书帮你度过人生低谷期谁都有低谷的时候,在书籍中才能让浮躁和焦虑的心慢慢平静,同时读书也能更好的沉淀自己。这几本书帮你快速走出低谷,开启崭新的一天!1我与地坛作者史铁生史铁生在讲他自己的故事。史铁生以他分众传媒蓝色光标天下秀,你最看好谁最近,多家公司踏着ChatGPT的春风,股价一路扶摇直上,其中,蓝色光标最为抢眼,3月以来,已经上涨了63。7。面对突如其来的大涨,有人选择获利离开,有人选择坚定持有。广告营销行业他是谁张译好像在玩一种很新的集邮常演常新的警察角色文紫依张译又双叒叕带着他的警察角色杀回来了!他是谁由张译陈雨锶领衔主演,讲述卫国平横跨八年时间,从88连环杀人案到医学院碎尸案和罪犯斗智斗勇的过程。这部剧还有一个别名平凡英雄199烟火再起!沈阳兴顺夜市开啦3月18日晚,沈阳最大的夜市塔湾兴顺夜市正式开业。记者在现场看到,夜市里小吃种类丰富,网红美食应有尽有。滋啦冒油的烤串外焦里嫩的烤猪手,还有香味远飘的烤生蚝烤面筋烤鸡腿等,都是不可