资源描述:
《[管理学]整数规划与分配问题》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、4、整数规划与分配问题2010/10/84.1整数规划的特点及作用在线性规划问题中,它的解都假设为具有连续型数值.但是在许多实际问题中,决策变量仅仅在取整数值时才有意义,比如变量表示的是工人的数量,机器的台数,货物的箱数等。实际问题中经过“四舍五入”处理得到的解可能不是原问题的可行解,有的虽是原问题的可行解,但却不是整数最优解.因而有必要研究整数规划问题的解法.例1某厂拟用火车装运甲、乙两种货物集装箱,每箱的体积、重量、可获利润以及装运所受限制如下:问两种货物各装运多少箱,可使获得利润最大?货物集装箱体积()重量(百斤)利润(百元)甲5220乙4510托运限制241
2、3设甲、乙两种货物装运箱数分别为x1和x2。显然,都要求为整数,于是可建立整数规划模型如下:整数规划的一般模型此模型与一般线性规划的模型很相似,区别在于除变量的非负条件外,还加了整数解的要求。如何求解整数规划问题?例2:求下列问题:MaxZ=3x1+13x2s.t.2x1+9x24011x1-8x282x1,x20,且取整数值O1234567891054321x1x2I(2,4)B(9.2,2.4)AD可行域OABD内整数点,放弃整数要求后,最优解B(9.2,2.4)Z0=58.8,而原整数规划最优解I(2,4)Z0=58,实际上B附近四个整点(9,2)(10
3、,2)(9,3)(10,3)都不是原规划最优解。因此用图解法或单纯形法都无法找出整数规划的最优解,这就要研究整数规划问题的特殊方法。4.2分配问题与匈牙利法4.2.1问题的提出与数学模型在生活中经常遇到这样的问题,某单位需完成n项任务,恰好有n个人可承担这些任务。由于每个人的专长不同,各人完成任务不同(或所费时间),效率不同。于是产生应指派哪个人去完成哪项任务,使完成n项任务的总效率最高(或所需总时间最小)。这类问题称为指派问题或分派问题(Assignmentproblem)。例3有一份中文说明书,需翻译成英、日、德、俄四种文字,现有甲、乙、丙、丁四人,他们将中文说
4、明书翻译成英、日、德、俄四种文字所需时间如下,问应该如何分配工作,使所需总时间最少?效率矩阵甲乙丙丁译成英文译成日文译成德文译成俄文2109715414813141611415139引入0-1变量xij=1分配第i人去完成第j项任务,xij=0不分配第i人去完成第j项任务。xij=1(j=1,2……n)表示第j项任务只能由一人去完成。xij=1(i=1,2……n)第i人只能完成一项任务。分配问题的数学模型:MinZ=cijxijxij=1(j=1,2……n)xij=1(i=1,2……n)xij=0或1(i=1,2…..m;j=1,2……n)满足约束条件的
5、解称为可行解可写成矩阵形式:X=010000100000001称为解矩阵其各行各列元素之和为1。4.2.2匈牙利法匈牙利算法基本思想:对同一工作i来说,所有人的效率都提高或降低同一常数,不会影响最优分配;同样,对同一人j来说,做所有工作的效率都提高或降低同一常数,也不会影响最优分配。分配问题性质:分配问题的最优解有这样的性质,若从系数矩阵C的一行(列)各元素中分别减去该行(列)的最小元素得到的新矩阵B,那么B为系数矩阵求得的最优解和用原来的系数矩阵C求得的最优解相同。匈牙利算法:若系数矩阵中的元素可分为”0”与非“0”两部分,则覆盖“0”元素的最少直线数等于位于不同
6、行不同列的“0”元素的最大个数。甲乙丙丁译成英文译成日文译成德文译成俄文2109715414813141611415139匈牙利算法的步骤:第一步:使分配问题的系数矩阵经变换,在各行各列中都出现0元素:从系数矩阵的每行元素减去该行的最小元素。再从所得系数矩阵的每列元素减去该列的最小元素。若某行已经有0元素,就不必再减了。(cij)=24114087511010423500119552109715414813141611415139082511054230001145第二步:进行试分配,以寻找最优解。从只有一个0元素的行(或列)开始,给这个0元素加圈,记,然后划去
7、所在的列(或行)的其他0元素,记作Ø。给只有一个0元素的列(或行)的0元素加圈,记,然后划去所在的行(或列)的其他0元素,记作Ø。反复进行上述两步,直到所有的0元素都被圈出和划掉为止。若还有没有划圈的0元素,且同行(或列)的0元素至少有二个,从剩有0元素最少的行(或列)开始,比较这行各0元素所在列中0元素的数目,选择0元素少的那列的0元素加圈,然后划掉同行同列的其他0元素,可反复进行,直到所有的0元素都被圈出和划掉为止。若元素的数目m等于矩阵阶数n,那么这分配问题的最优解已得到。若m