您当前的位置:首页 > 发表论文>论文发表

运筹学整数规划论文总结

2023-12-06 11:03 来源:学术参考网 作者:未知

运筹学整数规划论文总结

Operation Research原意是操作研究、作业研究、运用研究、作战研究,译作运筹学,是借用了《史记》“运筹策于帷幄之中,决胜于千里之外”一语中“运筹”二字,既显示其军事的起源,也表明它在我国已早有萌芽。

运筹学作为一门现代科学,是在第二次世界大战期间首先在英美两国发展起来的,有的学者把运筹学描述为就组织系统的各种经营作出决策的科学手段。P.M.Morse与G.E.Kimball在他们的奠基作中给运筹学下的定义是:“运筹学是在实行管理的领域,运用数学方法,对需要进行管理的问题统筹规划,作出决策的一门应用科学。”运筹学的另一位创始人定义运筹学是:“管理系统的人为了获得关于系统运行的最优解而必须使用的一种科学方法。”它使用许多数学工具(包括概率统计、数理分析、线性代数等)和逻辑判断方法,来研究系统中人、财、物的组织管理、筹划调度等问题,以期发挥最大效益。

现代运筹学的起源可以追溯到几十年前,在某些组织的管理中最先试用科学手段的时候。可是,现在普遍认为,运筹学的活动是从二次世界大战初期的军事任务开始的。当时迫切需要把各项稀少的资源以有效的方式分配给各种不同的军事经营及在每一经营内的各项活动,所以美国及随后美国的军事管理当局都号召大批科学家运用科学手段来处理战略与战术问题,实际上这便是要求他们对种种(军事)经营进行研究,这些科学家小组正是最早的运筹小组。

第二次世界大战期间,“OR”成功地解决了许多重要作战问题,显示了科学的巨大物质威力,为“OR”后来的发展铺平了道路。

当战后的工业恢复繁荣时,由于组织内与日俱增的复杂性和专门化所产生的问题,使人们认识到这些问题基本上与战争中所曾面临的问题类似,只是具有不同的现实环境而已,运筹学就这样潜入工商企业和其它部门,在50年代以后得到了广泛的应用。对于系统配置、聚散、竞争的运用机理深入的研究和应用,形成了比较完备的一套理论,如规划论、排队论、存贮论、决策论等等,由于其理论上的成熟,电子计算机的问世,又大大促进了运筹学的发展,世界上不少国家已成立了致力于该领域及相关活动的专门学会,美国于1952年成立了运筹学会,并出版期刊《运筹学》,世界其它国家也先后创办了运筹学会与期刊,1957年成立了国际运筹学协会。

运筹学的特点是:1.运筹学已被广泛应用于工商企业、军事部门、民政事业等研究组织内的统筹协调问题,故其应用不受行业、部门之限制;2.运筹学既对各种经营进行创造性的科学研究,又涉及到组织的实际管理问题,它具有很强的实践性,最终应能向决策者提供建设性意见,并应收到实效;3.它以整体最优为目标,从系统的观点出发,力图以整个系统最佳的方式来解决该系统各部门之间的利害冲突。对所研究的问题求出最优解,寻求最佳的行动方案,所以它也可看成是一门优化技术,提供的是解决各类问题的优化方法。

运筹学的研究方法有:1.从现实生活场合抽出本质的要素来构造数学模型,因而可寻求一个跟决策者的目标有关的解;2.探索求解的结构并导出系统的求解过程;3.从可行方案中寻求系统的最优解法。

运筹学的具体内容包括:规划论(包括线性规划、非线性规划、整数规划和动态规划)、图论、决策论、对策论、排队论、存储论、可靠性理论等。

数学规划即上面所说的规划论,是运筹学的一个重要分支,早在1939年苏联的康托洛维奇(H.B.Kahtopob )和美国的希奇柯克(F.L.Hitchcock)等人就在生产组织管理和制定交通运输方案方面首先研究和应用一线性规划方法。1947年旦茨格等人提出了求解线性规划问题的单纯形方法,为线性规划的理论与计算奠定了基础,特别是电子计算机的出现和日益完善,更使规划论得到迅速的发展,可用电子计算机来处理成千上万个约束条件和变量的大规模线性规划问题,从解决技术问题的最优化,到工业、农业、商业、交通运输业以及决策分析部门都可以发挥作用。从范围来看,小到一个班组的计划安排,大至整个部门,以至国民经济计划的最优化方案分析,它都有用武之地,具有适应性强,应用面广,计算技术比较简便的特点。非线性规划的基础性工作则是在1951年由库恩(H.W.Kuhn)和达克(A.W.Tucker)等人完成的,到了70年代,数学规划无论是在理论上和方法上,还是在应用的深度和广度上都得到了进一步的发展。

图论是一个古老的但又十分活跃的分支,它是网络技术的基础。图论的创始人是数学家欧拉。1736年他发表了图论方面的第一篇论文,解决了著名的哥尼斯堡七桥难题,相隔一百年后,在1847年基尔霍夫第一次应用图论的原理分析电网,从而把图论引进到工程技术领域。20世纪50年代以来,图论的理论得到了进一步发展,将复杂庞大的工程系统和管理问题用图描述,可以解决很多工程设计和管理决策的最优化问题,例如,完成工程任务的时间最少,距离最短,费用最省等等。图论受到数学、工程技术及经营管理等各方面越来越广泛的重视。

排队论又叫随机服务系统理论。1909年丹麦的电话工程师爱尔朗(A.K.Erlang)排队问题,1930年以后,开始了更为一般情况的研究,取得了一些重要成果。1949年前后,开始了对机器管理、陆空交通等方面的研究,1951年以后,理论工作有了新的进展,逐渐奠定了现代随机服务系统的理论基础。排队论主要研究各种系统的排队队长,排队的等待时间及所提供的服务等各种参数,以便求得更好的服务。它是研究系统随机聚散现象的理论。

可靠性理论是研究系统故障、以提高系统可靠性问题的理论。可靠性理论研究的系统一般分为两类:(1)不可修系统:如导弹等,这种系统的参数是寿命、可靠度等,(2)可修复系统:如一般的机电设备等,这种系统的重要参数是有效度,其值为系统的正常工作时间与正常工作时间加上事故修理时间之比。

决策论研究决策问题。所谓决策就是根据客观可能性,借助一定的理论、方法和工具,科学地选择最优方案的过程。决策问题是由决策者和决策域构成的,而决策域又由决策空间、状态空间和结果函数构成。研究决策理论与方法的科学就是决策科学。决策所要解决的问题是多种多样的,从不同角度有不同的分类方法,按决策者所面临的自然状态的确定与否可分为:确定型决策、风险型决策和不确定型决策;按决策所依据的目标个数可分为:单目标决策与多目标决策;按决策问题的性质可分为:战略决策与策略决策,以及按不同准则划分成的种种决策问题类型。不同类型的决策问题应采用不同的决策方法。决策的基本步骤为:(1)确定问题,提出决策的目标;(2)发现、探索和拟定各种可行方案;(3)从多种可行方案中,选出最满意的方案;(4)决策的执行与反馈,以寻求决策的动态最优。

如果决策者的对方也是人(一个人或一群人)双方都希望取胜,这类具有竞争性的决策称为对策或博弈型决策。构成对策问题的三个根本要素是:局中人、策略与一局对策的得失。目前对策问题一般可分为有限零和两人对策、阵地对策、连续对策、多人对策与微分对策等。

运筹学是软科学中“硬度”较大的一门学科,兼有逻辑的数学和数学的逻辑的性质,是系统工程学和现代管理科学中的一种基础理论和不可缺少的方法、手段和工具。运筹学已被应用到各种管理工程中,在现代化建设中发挥着重要作用。
在中国战国时期,曾经有过一次流传后世的赛马比赛,相信大家都知道,这就是田忌赛马。田忌赛马的故事说明在已有的条件下,经过筹划、安排,选择一个最好的方案,就会取得最好的效果。可见,筹划安排是十分重要的。

现在普遍认为,运筹学是近代应用数学的一个分支,主要是将生产、管理等事件中出现的一些带有普遍性的运筹问题加以提炼,然后利用数学方法进行解决。前者提供模型,后者提供理论和方法。

运筹学的思想在古代就已经产生了。敌我双方交战,要克敌制胜就要在了解双方情况的基础上,做出最优的对付敌人的方法,这就是“运筹帷幄之中,决胜千里之外”的说法。

但是作为一门数学学科,用纯数学的方法来解决最优方法的选择安排,却是晚多了。也可以说,运筹学是在二十世纪四十年代才开始兴起的一门分支。

运筹学主要研究经济活动和军事活动中能用数量来表达的有关策划、管理方面的问题。当然,随着客观实际的发展,运筹学的许多内容不但研究经济和军事活动,有些已经深入到日常生活当中去了。运筹学可以根据问题的要求,通过数学上的分析、运算,得出各种各样的结果,最后提出综合性的合理安排,已达到最好的效果。

运筹学作为一门用来解决实际问题的学科,在处理千差万别的各种问题时,一般有以下几个步骤:确定目标、制定方案、建立模型、制定解法。

虽然不大可能存在能处理及其广泛对象的运筹学,但是在运筹学的发展过程中还是形成了某些抽象模型,并能应用解决较广泛的实际问题。

随着科学技术和生产的发展,运筹学已渗入很多领域里,发挥了越来越重要的作用。运筹学本身也在不断发展,现在已经是一个包括好几个分支的数学部门了。比如:数学规划(又包含线性规划;非线性规划;整数规划;组合规划等)、图论、网络流、决策分析、排队论、可靠性数学理论、库存论、对策论、搜索论、模拟等等。

各分支简介

数学规划的研究对象是计划管理工作中有关安排和估值的问题,解决的主要问题是在给定条件下,按某一衡量指标来寻找安排的最优方案。它可以表示成求函数在满足约束条件下的极大极小值问题。

数学规划和古典的求极值的问题有本质上的不同,古典方法只能处理具有简单表达式,和简单约束条件的情况。而现代的数学规划中的问题目标函数和约束条件都很复杂,而且要求给出某种精确度的数字解答,因此算法的研究特别受到重视。

这里最简单的一种问题就是线性规划。如果约束条件和目标函数都是呈线性关系的就叫线性规划。要解决线性规划问题,从理论上讲都要解线性方程组,因此解线性方程组的方法,以及关于行列式、矩阵的知识,就是线性规划中非常必要的工具。

线性规划及其解法—单纯形法的出现,对运筹学的发展起了重大的推动作用。许多实际问题都可以化成线性规划来解决,而单纯形法有是一个行之有效的算法,加上计算机的出现,使一些大型复杂的实际问题的解决成为现实。

非线性规划是线性规划的进一步发展和继续。许多实际问题如设计问题、经济平衡问题都属于非线性规划的范畴。非线性规划扩大了数学规划的应用范围,同时也给数学工作者提出了许多基本理论问题,使数学中的如凸分析、数值分析等也得到了发展。还有一种规划问题和时间有关,叫做“动态规划”。近年来在工程控制、技术物理和通讯中的最佳控制问题中,已经成为经常使用的重要工具。

排队论是运筹学的又一个分支,它有叫做随机服务系统理论。它的研究目的是要回答如何改进服务机构或组织被服务的对象,使得某种指标达到最优的问题。比如一个港口应该有多少个码头,一个工厂应该有多少维修人员等。

排队论最初是在二十世纪初由丹麦工程师艾尔郎关于电话交换机的效率研究开始的,在第二次世界大战中为了对飞机场跑道的容纳量进行估算,它得到了进一步的发展,其相应的学科更新论、可靠性理论等也都发展起来。

因为排队现象是一个随机现象,因此在研究排队现象的时候,主要采用的是研究随机现象的概率论作为主要工具。此外,还有微分和微分方程。排队论把它所要研究的对象形象的描述为顾客来到服务台前要求接待。如果服务台以被其它顾客占用,那么就要排队。另一方面,服务台也时而空闲、时而忙碌。就需要通过数学方法求得顾客的等待时间、排队长度等的概率分布。

排队论在日常生活中的应用是相当广泛的,比如水库水量的调节、生产流水线的安排,铁路分成场的调度、电网的设计等等。

对策论也叫博弈论,前面讲的田忌赛马就是典型的博弈论问题。作为运筹学的一个分支,博弈论的发展也只有几十年的历史。系统地创建这门学科的数学家,现在一般公认为是美籍匈牙利数学家、计算机之父——冯·诺依曼。

最初用数学方法研究博弈论是在国际象棋中开始的——如何确定取胜的着法。由于是研究双方冲突、制胜对策的问题,所以这门学科在军事方面有着十分重要的应用。近年来,数学家还对水雷和舰艇、歼击机和轰炸机之间的作战、追踪等问题进行了研究,提出了追逃双方都能自主决策的数学理论。近年来,随着人工智能研究的进一步发展,对博弈论提出了更多新的要求。

搜索论是由于第二次世界大战中战争的需要而出现的运筹学分支。主要研究在资源和探测手段受到限制的情况下,如何设计寻找某种目标的最优方案,并加以实施的理论和方法。在第二次世界大战中,同盟国的空军和海军在研究如何针对轴心国的潜艇活动、舰队运输和兵力部署等进行甄别的过程中产生的。搜索论在实际应用中也取得了不少成效,例如二十世纪六十年代,美国寻找在大西洋失踪的核潜艇“打谷者号”和“蝎子号”,以及在地中海寻找丢失的氢弹,都是依据搜索论获得成功的。

运筹学有广阔的应用领域,它已渗透到诸如服务、库存、搜索、人口、对抗、控制、时间表、资源分配、厂址定位、能源、设计、生产、可靠性、等各个方面。

求运筹学论文

  在中国战国时期,曾经有过一次流传后世的赛马比赛,相信大家都知道,这就是田忌赛马。田忌赛马的故事说明在已有的条件下,经过筹划,选择一个最好的方案,就会取得最好的效果。可见,筹划是十分重要的。

  现在普遍认为,运筹学是近代应用数学的一个分支,主要是将生产、管理等事件中出现的一些带有普遍性的运筹问题加以提炼,然后利用数学方法进行解决。前者提供模型,后者提供理论和方法。

  运筹学的思想在古代就已经产生了。敌我双方交战,要克敌制胜就要在了解双方情况的基础上,做出最优的对付敌人的方法,这就是“运筹帷幄之中,决胜千里之外”的说法。

  但是作为一门数学学科,用纯数学的方法来解决最优方法的选择安排,却是晚多了。也可以说,运筹学是在二十世纪四十年代才开始兴起的一门分支。

  运筹学主要研究经济活动和军事活动中能用数量来表达的有关策划、管理方面的问题。当然,随着客观实际的发展,运筹学的许多内容不但研究经济和军事活动,有些已经深入到日常生活当中去了。运筹学可以根据问题的要求,通过数学上的分析、运算,得出各种各样的结果,最后提出综合性的合理安排,已达到最好的效果。

  运筹学作为一门用来解决实际问题的学科,在处理千差万别的各种问题时,一般有以下几个步骤:确定目标、制定方案、建立模型、制定解法。

  虽然不大可能存在能处理及其广泛对象的运筹学,但是在运筹学的发展过程中还是形成了某些抽象模型,并能应用解决较广泛的实际问题。

  随着科学技术和生产的发展,运筹学已渗入很多领域里,发挥了越来越重要的作用。运筹学本身也在不断发展,现在已经是一个包括好几个分支的数学部门了。比如:数学规划(又包含线性规划;非线性规划;整数规划;组合规划等)、图论、网络流、决策分析、排队论、可靠性数学理论、库存论、对策论、搜索论、模拟等等。

浅谈学习运筹与优化软件的心得

科普推广运筹学一直以来是【运筹OR帷幄】平台的初衷。本次我们邀请到了平台优化板块的责编团队的成员,结合各自独特的业界工作体会,分享他们眼中在业界发光发热的运筹学。

一、元器件行业中的运筹学

本人在一家做元器件服务的公司实习,军用元器件使用的时候有两个典型场景:替代和统型。

替代是设计师针对进口元器件找到可替代的国产型号;统型是在一个产品的BOM内确定某几个不同元器件是否可以统一使用一种,以此减少元器件品种数。

目前行业内开始从依赖专家经验(比如知道某个国产元器件就是对标某个进口元器件做的),转向从元器件性能参数的相似度出发进行判断,所以涉及到相似度和聚类方法的应用。

相比方法本身,解决问题的更大阻碍是元器件性能参数数据的复杂性和不规范性。例如不同类别的元器件性能参数不同,即使在同一类别下,不同生厂商给出的性能参数形式也不同,对此进行规范需要有元器件专业知识,所以实际中,数据清洗往往耗费最多人力,也是影响方法使用效果的一大因素。

二、电力行业中的运筹学

本人领域是电力系统最优化,可能大家没有察觉,但是现在中国的电力网络毫无争议的走在了世界的最前沿。强如美国,最近也又一次出现了大规模停电问题。(上次是1977年加州大停电)这次美国的停电持续了25个小时,约至少4万人受到了影响,经济损失至少3000万美金以上。但是中国自从普及用电后,从没发生过如此大规模的停电问题。除了电力人的辛勤奋斗外,这也离不开运筹学在电力系统中的应用。

众所周知,我们现在的电力网是交流输电网络。交流输电网络中的参数远比直流输电网络要复杂得多。最明显的不同,在交流网络中我们需要处理线路的有功功率无功功率。除此之外,线路的损耗、输电节点的电压和相角也是我们需要考虑的因素。为了保证整个电力系统的损耗最小,我们需要建立相关的数学模型进行分析计算,然后再由调度中心进行调控。但是实际问题的复杂程度远远超乎想象,单一个最优潮流问题就是一个大规模非凸非线性的问题。为了求解这类问题,相关学者提出了诸多算法和理论。诸如:半正定规划、现代内点法、凸松弛技术,模型近似技术等。这些理论已经发展了数十年,但即便如此,也没有一套成熟的理论被应用到实际中。

在电力网中,我们不单要考虑线路损耗的降低,更重要的是要保证供电的可靠性。我们常常需要提前一天或数天对电力系统进行调度安排,这类问题往往是一个多层优化问题,对于这类问题,我们常见的求解办法是Benders分解和列生成。除此之外,我们需要不定期对线路检修,发电厂的维护,而线路的通断、发电厂的启停在数学模型中又成了一个整数规划问题。整体的求解难度又上升了一个层次。另外,在国家大规模倡导新能源接入的今天,风电和光伏电站不断被接入电力网络中,而新能源不能得到普及的一个重要因素是我们不能准确预知新能源电厂在下一时刻能够发出多少电能供我们使用。为了分析这类问题,我们的模型在混合整数非线性规划上又需要考虑不确定因素带来的影响。对这类问题的求解,我们又提出了随机规划、鲁棒优化、分布鲁棒等。还有一点,我们的输电线路可能会由于雷击、树枝接触等导致出现输送功率出现扰动。系统中的这些小扰动可能会对用户供电的电压和频率产生波动,对于普通家庭来说可能影响不大,但是对于一些高精技术的产业,一次电压或频率的波动就可能导致整个生产线的崩溃。如何建立相关的数学优化模型来预防这一问题也是当前的研究热点之一。

最后,大家也十分熟知我们国家有一个西电东送的工程,这也是我认为最困难的一个点,我们国家的电力网络是连在一起的,是一个十分庞大且复杂的系统,而我们电力网络是时时波动的,我们需要在秒级做出优化,并给出方案。目前针对这种超大规模的含不确定性的多层混合整数非线性规划问题,我们没有办法在有限的时间内得到一个最优解。

但即便困难重重,在一线的电力工作者仍在尽自己最大的努力来保证电力网络的安全可靠运行,为中国电力点赞。

三、制造业中的运筹学

本人目前是某厂的算法工程师,参与过企业的排班,调度,决策优化等场景的项目,主要想结合自己的经历和大家分享一下运筹优化在企业中的一些应用,主要包括任务规划/排班和实时调度两个方面,围绕场景定义,方法论和实际中的困难三个点进行阐述。

1、任务规划/排班

(1)场景定义

首先说一下什么是任务规划,什么是排班。任务规划是基于设定好的任务输入,进行任务的排期规划,以达到资源的有效利用和工作效率的提升。任务规划主要用于传统制造业/工厂排程,建筑工程规划排程,物流运输线路任务打包等场景。任务规划后输出给虚拟人或者其它虚拟资源创建的带有时间窗的任务包,排班则基于这些任务包,把它对应到实际的人或者其它真实车辆,机械等资源中,规划出某些资源在什么时候做什么任务的结果,以及该任务需要消耗多少其它资源。

(2)方法论

主要的规划方法也是传统运筹优化使用的方法。首先了解真实的业务场景,抽象业务规则和约束,搭建数学模型,运用规划求解器(Cplex,Gurobi等)或者启发式算法(Local Search,Iterative Forward Search等以及各种变种)进行求解。启发式算法可以在现有的solver上进行基于不同场景的二次开发,也可以自行开发。业界一般采用第一种方式。

(3)实际运用困难点

在实际场景中,给不同资源的排班会有很多实际因素要考虑。给人排班要考虑人的工作班次时长,人历史的上班习惯(如习惯上晚班,晚班后不能接早班),人所拥有的技能,个人的偏好(偏好某个工种或者上班时间段),法律规定以及不同工厂因为地域有不同的差异,如香港是8小时工作制,而大陆班次时长可以是10小时等。当我们处理实际问题的时候,先要梳理实际场景,总结管理规律,构建多种配置参数,进行建模。相比于排班来说,任务规划因为是针对虚拟资源而构建,所以可以不用考虑过多的资源属性(如人习惯)等因素。

2、实时调度

(1)场景定义

基于实时数据输入,进行任务的整合和任务的分配。主要的场景有:O2O外卖即时配送,打车软件车辆实时调度,仓储叉车/AGV,分拣中心分拣机器人实时调度等场景。实时调度的场景主要集中于新业务,而非传统的制造业和实体企业。传统的制造业和实体企业骄傲于他们的规划,而前面场景定义所提到的一些新业务场景,无法采用有效地长期规划手段,更多地是依赖短期的预测和实时的规划调度。

(2)方法论

上述提到的短期预测:如外卖下单到餐品完成的时间估计,车辆调度Supply和Demand的平衡,仓储/分拣中心的任务需求预测等,一般基于不同场景搭建机器学习模型,或者各种深度学习模型的Ensemble进行训练和预测。

实时的规划调度包括:如外卖下单后分给哪个外卖小哥,车辆订单来了分给哪辆车,任务需求来了分给哪辆叉车,AGV或者机器人。主要的方法有:

● 短时间压单后进行任务分配,以牺牲一定的最优性而换来快速高效地计算,采用传统并行的多个Tabu Search,Simulated Annealing等进行TSP或者VRP的计算。

● 强化学习/动态规划方法。用收集的数据和规则搭建仿真环境,用强化学习构建任务需求(订单或者生产入库需求等)与资源(车辆,外卖效果,叉车等)的匹配价值(Value),然后分配计算。

(3)实际运用困难点

● 大规模订单/任务需求的计算,需要一定的计算资源支持,以及牺牲算法的优化性来实现快速计算。

● 实时数据的采集。有些数据无法直接有效地采集,比如真实商家做餐时间。

● 如果要搭建仿真环境,也需要了解和抽象实际的业务规则。

3、关于运筹学在业界应用的思考

我在某公司实习了三个月,主要做的是生产计划。生产计划也是属于供应链的一个环节,与调度相比生产计划的制定要更加宏观一些。生产计划就是决策什么时间,在哪家厂/哪条生产线上,加工多少工件。生产计划的问题广泛的存在于制造业中,举个例子就是是手机的制造,一部手机有上千个零件构成,每个零件都在指定的供应商处生产,例如手机屏幕,手机摄像头,手机电池,手机充电器每个零件都由不同的生产厂来生产,然后将这些零件运送到最终的组装厂拼装成一台成品的手机。如何合理的安排每个厂在什么时候该生产多少零件是一个需要决策的重要问题。这个问题的核心在于要考虑尽量满足订单的需求要降低库存水位(或者是库存的周转率),同时要考虑到物料的约束,产能的约束,运输的约束等等因素。

在小规模的排产问题中人工调度员还能应对,一旦生产规模变大,生产工艺复杂之后,人工调度的弊病会逐渐凸显出来。目前国内有意识去做供应链的决策模型与算法的并不多,据我所知其中比较有代表性的是杉数科技。

杉数科技智能计划排程系统致力于为制造业及其上下游产业提供全链条技术服务,利用运筹学与机器学习将实际问题转化为数学模型求解,实现最优化的排程。个人认为,杉数科技在运筹学应用于制造业领域做了很好的探索,在很大程度上解决了如何用更少的人,更短的时间,生产更多的产品问题。

上面提到的生产计划问题本质上是一个混合整数规划问题,零件的个数就是一个整数变量,而生产这些零件的物料可能是整数的也可能是连续变量,因此该问题构成了一个混合整数规划问题。解决方案无非以下两种:

● 采用经典的混合整数规划的方法,先对原混合整数规划进行分解和重新建模,例如拉格朗日松弛,Benders 分解或者列生成等等方法,子问题的求解可以采用Gurobi或Cplex这些商用求解器。

● 针对问题特性设计元启发式算法,启发式算法。

实际运用困难点

我想谈谈混合整数规划在业界应用的gap到底在哪里,当然说大一点的话也是探讨运筹学在业应用的gap。

(1 )实际应用问题往往是大规模的

实际的生产问题往往是大规模的,例如我实习时所面临的实际问题其决策变量维数都达到上亿级别,业务部门要求是2小时之内给出结果,这对算法的效率实际上提出了非常大的挑战。即使是求解上亿规模的线性规划问题耗时都比较巨大,更不用说是整数规划问题了。我们经常说线性规划简单,哈哈,但是从实际应用的角度来看目前求解线性规划的速度在一些场景上还是不能满足我们实际应用的需求的。

目前在学术界大家很多情况下都是在小规模问题上自娱自乐玩一下,所以真正在公司的话,大规模的问题非常非常普遍。举个例子就是读运筹学的PhD的时候是学会在游泳池里游泳,真正在公司里边面对的问题可能就是得在大海里边游。这其实还是比较好的状况,更差的情况是一些童鞋可能在学校里只是学会了在浴缸里游泳而已。

(2) 实际数据往往都是病态的

实际问题的数据往往都是病态的,例如我在公司遇到的问题就是病态问题,具体来说就是优化问题约束或者目标函数的系数数量级的差别过大,导致求解过程的病态,实际问题的数据往往是千差万别和稀奇古怪的,数量级的差异经常超过10E20以上。这一点在学术界研究的相对较少一点,因为学术界研究的问题都比较理想化,即使有从实际中抽象一些原型出来,但是已经把病态啊这些问题都基本过滤掉了,但是在实际中你就发现病态问题太多了。

(3) 业务人员没有优化的意识,运筹优化的人缺乏业务知识,沟通成本非常高

业务人员没有优化的意识,很多时候他们不清楚运筹优化能做什么,甚至当运筹优化的算法工程师问题业务人员你们有什么要求没(约束条件),你们有什么量化的指标要越大越好或者越小越好(目标函数),业务人员很多时候也不能很清晰量化的描述出来这些东西,还有很多时候业务人员嘴巴上告诉你的目标函数和心里想的不一致。就相当于你是一个大厨,什么线性规划,拉格朗日松弛,列生成,半定规划,鲁棒优化这些菜你都会做,结果来一个顾客说他不知道吃点啥。

运筹学的理论的应用必然还是要有一个实际的背景问题,而不同的问题所处的行业不一样,每个行业都有自己的习惯自己的一套语言和模式,例如航空业就有很多专业术语,如果做航空优化的话,那么就要求运筹优化的算法工程师要具备一定的业务基础,否则你是无法和业务人员交流的,人家说话你都听不懂,1次2次不懂你可以问,十次八次不懂的话,人家就不爱和你说话了。而且运筹优化算法工程师一般都是作为乙方出现的,很多时候还必须是我们得放低姿态的去主动的接触业务学习业务才行啊,否则项目就很难进行下去。

(4) 测试困难,如何验证优化算法求解结果的正确性

好不容易,经过了重重阻碍,克服千难万险,我们的优化算法出炉了,我们可以得到一个结果。如何验证这个结果是正确的呢?其实非常抱歉的告诉你,基本没啥靠谱的方法去验证。现在在公司普遍的作法是两种,1是人为的构造一些类似benchmark的东西,这些东西的最优解比较显而易见,通过这些benchmark来检测算法的正确性;2是参考以前人工的经验来看,算法给出的解是不是合理,例如要是做一个调度算法呢,就找几个有经验的调度员来看这个算法是不是接近以前人工调度的结果,如果接近那就认为OK了。很显然这两种方法有很多的不足,第一种方法只能适用问题特别简单的时候,问题稍微复杂一点,规模大点benchmark就很难构造了,第二种方法虽然适用面更宽一些,但是问题也很明显,那就是以前人工调度的结果很难说是比较好的结果,那这个结果去和算法做对比本来参考系就有问题。

四、电商行业中的运筹学

本人目前在某电商供应链计划部门实习,该电商平台有八个事业部,每个事业部每天都有一定量级的产品上新、下架。目前平台上八大事业部的总商品数量量级是十万,对接不到2000家供应商。我所在职位的主要工作内容是,根据历史销量进行各个产品的需求量预测,由于产品发货渠道有商家自发货和平台发货两种渠道,选择平台发货的厂商需要结合产品的生产周期,并且按照与平台约定的补货周期将货物运到平台的自有仓库。

因此对于平台供应链计划部门来说,需要根据货物现有库存,结合日均销量预测(分大促日销和平常日销两种)实现补货量和补货时间点预测自动化,仓库效益最大化。将预测信息反馈到计划员和事业部同事进行产品调整。存在的难题有很多,比如对于新品的日销需求预测?长期在架产品的需求预测及库存管理实现效益最大化?当某产品的补货周期是一个月时,涵盖了大促时期和平销时期,如何库存管理和日销量预测,以实现仓库效益最大化,平台收益最大,且尽可能缩短断货时长?而这些都是运筹学和优化问题。

五、机器学习行业中的运筹学

本人最近在BAT(之一)的北美研究院实习,研究院本身的运作模式算是和本地业务团队稍有不同,成员多为国内外名校毕业的计算机、统计、数学、运筹学等专业的博士。除了写paper之外,团队也需要做能“落地”的业务支持项目(通常和国内的业务部门合作):如在线视频网站的推荐算法、二手商品平台的定价算法、新零售门店的多渠道库存控制算法等。

这些问题首先的一个共性是:海量的数据规模。这些问题对应的业务部门都有专门的数据团队,每天在公司内部的数据仓库会定时更新当日的数据(每日的数据量级都是上百TB)。因此,要在此基础之上,设计实用的优化算法,实际上对经典的运筹学模型和优化算法来说,也是巨大的挑战。

因此,在目前我注意到的这些业界的实际“优化”业务中,机器学习方法和运筹学模型基本上是要一起使用的。更具体的来说,业界更需要的是“数据驱动”的决策模型。比如,现有的机器学习、深度学习方法带给我们良好的预测模型,而所谓的决策模型/优化模型便往往可以基于这些预测模型之上。当然,最理想的状态是能够将预测和决策这两个看似分离的步骤结合起来,即,动态地基于预测调整决策,再通过现阶段的决策调整之后的预测。关于这点,目前学术界有了很多不错的理论,但距离工业界的实际“落地”还是有距离的。这或许便是业界当中机器学习和运筹学的未来吧。

1.运筹学课程论文

如果太忙没空写作需要原创代笔时可以找我 希望可以帮到你,
论文要想写的特别好,拿到高分,最重要的是要把认真两字要记牢,认真收集资料,列好大纲,根据学

校格式写,关于法学专业案例论文是我们特长,服务特点:支持支付宝交易,保证你的资金安全。3种服

务方式,文章多重审核,保证文章质量。附送抄袭检测报告,让你用得放心。修改不限次数,再刁难的

老师也能过。
1、论文题目:要求准确、简练、醒目、新颖。
2、目录:目录是论文中主要段落的简表。(短篇论文不必列目录)
3、提要:是文章主要内容的摘录,要求短、精、完整。字数少可几十字,多不超过三百字为宜。
4、关键词或主题词:关键词是从论文的题名、提要和正文中选取出来的,是对表述论文的中心内容
有实质意义的词汇。关键词是用作机系统标引论文内容特征的词语,便于信息系统汇集,以供读者检索
。 每篇论文一般选取3-8个词汇作为关键词,另起一行,排在“提要”的左下方。 主题词是经过规范

化的词,在确定主题词时,要对论文进行主题,依照标引和组配规则转换成主题词
表中的规范词语。
5、论文正文:
(1)引言:引言又称前言、序言和导言,用在论文的开头。 引言一般要概括地写出作者意图,说明
选题的目的和意义, 并指出论文写作的范围。引言要短小精悍、紧扣主题。 〈2)论文正文:正文是论

文的主体,正文应包括论点、论据、 论证过程和结论。主体部分包括以下
内容:
a.提出-论点;
b.分析问题-论据和论证;
c.解决问题-论证与步骤;
d.结论。
6、一篇论文的参考文献是将论文在和写作中可参考或引证的主要文献资料,列于论文的末尾。参考
文献应另起一页,标注方式按《GB7714-87文后参考文献著录规则》进行。
中文:标题--作者--出版物信息(版地、版者、版期):作者--标题--出版物信息
所列参考文献的要求是:
(1)所列参考文献应是正式出版物,以便读者考证。

T a o,bao两钻信誉,诚信保过,需要详谈

相关文章
学术参考网 · 手机版
https://m.lw881.com/
首页