收藏 分销(赏)

资源分配问题的求解方法要点.doc

上传人:精**** 文档编号:4014287 上传时间:2024-07-25 格式:DOC 页数:24 大小:721.50KB
下载 相关 举报
资源分配问题的求解方法要点.doc_第1页
第1页 / 共24页
资源分配问题的求解方法要点.doc_第2页
第2页 / 共24页
资源分配问题的求解方法要点.doc_第3页
第3页 / 共24页
资源分配问题的求解方法要点.doc_第4页
第4页 / 共24页
资源分配问题的求解方法要点.doc_第5页
第5页 / 共24页
点击查看更多>>
资源描述

1、资源分配问题的求解方法【摘要】资源分配问题就是将一种或几种资源(原材料、资金、机器设备等)以最优的方式分配给若干个使用者,以获得最大的效益。它可以是静态规划问题,也可以通过构造动态规划模型求解。本文通过用单纯形法求解线性规划问题,用隐枚举法、LINGO软件求解 0-1 规划问题,以及用逆序递推算法求解动态规划问题。这几种算法的最终目的都是用来求解资源分配的最优值问题。【关键词】资源分配;线性规划;0-1规划;动态规划The Method of Solving the Resource Allocation Problem【Abstract】Resource allocation problem

2、 is one or several resources( raw materials, machinery, equipment, etc.)assigned to several users by best way to get maximum benefit. It is a static planning problem, and can also through structural dynamic programming model to solve. This paper solves linear programming problem by using simplex met

3、hod, 0-1 programming problem by using the implicit enumeration method, LINGO software method, and dynamic programming problem by using reverse recursive algorithm. The ultimate goal of this several algorithms is to solve the optimal value problem of the resources allocation.【Key Word】Resource alloca

4、tion; Linear Programming; 0-1 programming; Dynamic programming目录 1 引言12 线性规划12.1 模型的建立12.2 求解方法22.3 实例 133 0-1规划53.1 模型的建立53.2 求解方法63.3 实例 284 动态规划104.1 模型的建立104.2 求解方法104.3 实例 3125 结论14参考文献15附录16致谢181 引言人们奋斗所争取的一切,都同他们的利益有关。资源分配问题关系着人们的利益能否实现,因而一直是政治经济学研究的中心课题之一。在近几年,随着社会经济的发展,资源分配问题已经广泛存在于社会各个领域,并

5、且已经成为制约我国改革、发展、稳定的焦点问题。如何在满足各使用者的基础上,将有限资源进行最佳分配,使得生产成本最低、投资最省、产量最高、利润最大,以最大限度地提高效益,是资源分配问题中亟待解决的难题,所以资源分配的求解方法就给解决这种问题带来了很大的方便。线性规划是运筹学中研究较早,理论和算法比较成熟的分支之一,它主要研究在线性等式(或不等式)的限制条件下,使某一线性目标函数取得最大值(或最小值)的问题,并且求解有统一而简单的方法即单纯形法。但在许多问题中,决策变量必须为整数,例如当决策变量是分配的人数、购买的设备数、投入的车辆数时,它们一般必须为非负整数时才有意义。在这种情况下,常需要应用整

6、数规划进行优化。0-1整数规划是整数规划的特殊情况,也是最广泛的整数规划,用0-1整数规划求解时有时会更容易。有时源分配问题上也可以使用动态规划求解,动态规划是解决多阶段决策过程最优化问题的一种方法,这种方法就是把它看成一个时间轴,在时间的推移过程中,在每个时间阶段选择适当的决策,以使整个系统达到最优。本文不仅介绍了线性规划、0-1规划、和动态规划几种求解资源分配的方法,还介绍了求解线性规划的方法单纯形法、求解0-1规划的方法隐枚举法和LINGO软件法、以及求解动态规划的方法逆序递推法等几种算法的模型、求解的具体步骤和所对应的实例。通过对本文的这几种求解方法的介绍,基本上就可以使不同的资源分配

7、问题得到更好更快的解答。2 线性规划2.1 模型的建立线性规划是运筹学中最基本且范围最广的分支,它最主要是应用于合理的进行各种资源的分配,以取得最佳的效果。对于这类需要种不同的原材料生产种不同的产品的资源分配问题,一般是已知每种原材料的库存量,每种产品所需的各种原材料的分量,以及生产每种产品能获得多少利益1。这类资源分配问题只要运用线性规划就可以解决。 表1 产品原材料产品库存量原材料利润这种线性规划问题的数学模型为: 这里为由目标函数的系数组成的向量, 和 分别为不等式约束条件的系数矩阵和右端向量, 和 分别为等式约束条件的系数矩阵和右端向量,当约束条件没有等式时, 和 就用空矩阵 表示,

8、和分别是变量的下界和上界约束。满足全部约束条件的一组决策变量 ,称为此线性问题的可行解,而使目标函数达到问题要求的最优值(或)的可行解称为线性规划问题的最优解。2.2 求解方法单纯形法是求解线性规划问题的通用方法。单纯形法的基本思想是:先找出一个基本可行解,对它进行鉴别,看是否是最优解;若不是,则按照一定法则转换到另一改进的更好的基本可行解,再鉴别;若仍不是,则再转换,按此重复进行,经过反复迭代,直到目标函数值达到最大值(或最小值),就得到了最优解。可以用图形表示为:单纯形法的思路最优解核心是:变量迭代找出一个初始基本可行解是否最优转移到另一个基本可行解是否循环结束 图1单纯形法的一般解题步骤

9、可归纳如下2: (1) 把线性规划问题的约束方程组表达成典式方程组,找一个初始的可行基;(2) 求出对应的典式及检验数向量; (3) 求; (4) 若,停止,已找到最优解(5) 若,停止,原问题无界;(6) 求;(7) 以代替得到新的基,转第(2)步;用单纯形法解题时,可通过单纯形表求得最优解。2.3 实例1某工厂可生产甲、乙两种产品,需消耗煤、电、油三种资源。现将有关数据列表如下: 表2 产品资源甲乙资源限量煤 9 4 360 电 4 5 200油 3 10 300单位产品价格 7 12 试拟订使总收入最大的生产计划方案。解:决策变量:甲、乙产品的计划产量,记为,;目标函数:总收入,记为,则

10、;为体现对其求极大化,在的前面冠以极大号;约束条件:分别来自资源煤、电、油限量的约束和产量非负的约束,表示为:其标准形式为其中,为松弛变量。用单纯形表解题: 表3 7 12 00 0 94 1 0 0 36090 4 5 0 1 0 200 40 3 10 0 0 1 30030 0 0 0 0 1 0 240 0 0 1 5020 1 0 0 301000 00 0 0 1 84 1 0 0 20 0 1 0 24由单纯形表求得的最优解为;所以最优解为。3 01规划 3.1 模型的建立整数规划指的是决策变量为非负整数值的一类线性规划,在实际问题的应用中,整数规划模型对应着大量的生产计划或活动

11、安排等决策问题,整数规划的解法主要有分枝定界解法及割平面解法。0-1整数规划是整数规划的特例,其数学模型的目标函数、约束条件与线性规划相同,所不同的是如果整数线性规划问题的所有决策变量仅限于取0或1两个值,则称此问题为0-1整数规划,简称为0-1规划,把只能取0或1值的变量称为0-1变量。其一般的数学模型为3 :其中为0-1变量,也称二进制变量、逻辑变量。仅取值0或1这个条件可由下述约束条件所代替。,为整数,它和一般整数线性规划的约束条件形式是一致的。另一种形式为4:引进0-1变量:及资源单位数向量:则可建立与实际相应数学模型: 这两种是常见的0-1规划模型,可用隐枚举法求解,有时为了求解更加

12、快捷、方便则通常用LINGO软件求解。3.2 求解方法(1) 隐枚举法求解 解0-1型整数规划最容易想到的方法,和一般整数规划的情形一样,就是穷举法,基本上此法可以从所有变量等于零出发(初始点),然后依次指定一些变量取值为1,直到获得一个可行解,于是把第一个可行解记作迄今为止最好的可行解,再重复,依次检查变量为0,1的各种组合,对迄今为止最好的可行解加以改进,直到获得最优解。这就需要检查变量取值的个组合。对于变量个数较大(例如),这几乎是不可能的。而隐枚举法就是在此基础上改进的,通过加入一定的过滤条件,使运算次数减少,从而较快的求得最优解。因此常设计一些方法,只检查变量取值的组合的一部分,就能

13、求到问题的最优解,这样的方法称为隐枚举法。其解题关键是寻找可行解,产生过滤条件(满足目标函数值优于计算过的可行解目标函数值的约束条件)。一般步骤为:1)、用试探法求出一个可行解,以它的目标值作为当前最好的值;2)、增加过滤条件;3)、将 按由小大排列。最小化问题反之。(2) 用LINGO求解5LINGO:Linear Interactive and General Optimizer 即“交互式的线性和通用优化求解器”,它是一种专门用于求解最优化问题的软件。1)程序语言说明: LINGO程序以“MODEL”开始,以“END”结束,它们之间由语句组成,并且每个语句都是以分号“;”结尾。 在LIN

14、GO中语句顺序不重要,程序中不区分大小写,变量必须以字母开头,以开头的都是函数的调用。 LINGO已假定所有变量非负,可用限定变量取值范围的函数BIN(X)(限定X为0或1)、GIN(X)(限定X为整数)、FREE(X)(取消对X的符号限制)、BND(L,X,U)(限制)改变变量的非负假定。2)逻辑运算符:#AND#(与),#OR#(或),#NOT#(非),#EQ#(等于)、#NE#(不等于)、#GT#(大于)、#GE#(大于等于)、#LT#(小于)、#LE#(小于等于)。3)利用 LINGO 对上面第二种模型进行编程求解,其部分程序语句如下(省略号处表示有部分程序语句省略): 模型的设置部分

15、,定义模型中所定义的数据结构。sets:row/1.m/:z;建立行号集合;arrange/1.n/;建立列号集合;link(row, arrange):x, y;建立双下标集合,派生出效益集合X以及0-1变量集合Y; 模型的主体部分。max=sum(link(i,j):X(i,j)*y(i,j);目标函数;for(arrange (i):sum(link(j,k)|k #eq# 1:y(j,k)=1); 每个部门只取一个效益值; for(link(i,j):y(i,j)*z(i)=M;);限制条件:资源总数为;for(link(i,j):BIN(y(i,j););定义Y为0-1变量; 模型的

16、数据部分。data:X=x(i,j);Z=z(i);enddata3.3 实例2(1) 用隐枚举法求解实例某部门在今后五年中可用于投资的资金总额为万元,有 个可以考虑的投资项目,假定每个项目最多投资一次,第个项目所需的资金为万元,将会获得的利润为万元。问应如何选择投资项目,才能使获得的总利润最大2。解这类问题时设投资决策变量为设获得的总利润为,则上述问题列出的数学模型为:例如:1、通过试探性求一个可行解,易看出 满足约束条件,故为一个可行解,且相应的目标函数值为。2、因为是求极大值问题,故求最优解时,凡是目标值的解不必检验是否满足约束条件即可删除,因它肯定不是最优解,于是应增加一个约束条件(目

17、标值下界): 称该条件为过滤条件。 从而原问题等价于 :用隐枚举法求解: 表4目标值约束条件过滤条件a b c d e05 27 38 510 从而得最优解 ,最优值。在计算过程中,若遇到值已超过条件(a)右边的值,应改变条件(a),使右边为迄今为止最大者,然后继续作。例如,当检查点(0,0,1)时因,所以应将条件(a)换成。(2) 用LINGO软件求解实例现有某种设备共有五台,准备分给用户1、2、3 三个工厂,各工厂利用这些设备获得的盈利各不相同,问如何分配这五台设备,可以使总盈利为最大5? 表5设备台数各工厂产生的效益值12300001554215152634040404806045590

18、7050解:引进0-1变量用LINGO软件求解的程序代码见附录1,求解的结果见附录2。由结果可知,即分配5台给用户1,获得最大盈利为。4 动态规划4.1 模型的建立动态规划所研究的对象是多阶段决策问题,所谓多阶段决策问题是指一类活动过程,它可以分为若干个相互联系的阶段,在每个阶段都需要做出决策。这个决策不仅决定这一阶段的效益,而且决定下一阶段的初始状态,每个阶段的决策确定以后,就得到一个决策序列,称为策略。多阶段决策问题就是求一个策略,使各阶段的效益的总和达到最优。设有某种资源,总数量为,用于生产种产品;若分配数量用于生产第种产品,其收益为。问应如何分配,可使总收益最大6? 这种资源分配问题可

19、建立的动态规划模型为:4.2 求解方法17基本思路:把寻求最优策略看作连续递推的过程,从最终阶段开始,逆着实际过程的进展方向逐段求解,在每一段求解中都要利用刚求解完那段的结果,直到初始阶段求出结果,返回始点为止,这种求解方法叫做逆序递推求解。gn(xn)12S1=ax1x2g1(x1)g2(x2)s2s3n nnxnsn. 图2(1)明确问题,确定阶段的划分和阶段变量。根据多阶段决策问题的特点,将其划分为若干个相互独立又相互联系的部分,每一个部分为一个阶段,划分出的每一个阶段通常就是需要做出一个决策的子问题。阶段通常是按决策进行的时间或空间上的先后顺序划分的,阶段变量用表示,表示把资源分配给第

20、种产品的过程。(2)确定状态、状态变量。在多阶段决策过程中,状态是描述每个阶段所必须的信息,表示每个阶段开始时所处的自然状况或客观条件。一个阶段有若干个状态,过程的状态用一个或一组变量来描述,状态变量必须包含在给定的阶段上确定全部允许决策所需要的信息,用表示第个阶段的状态变量,=表示在给第种产品分配之前还剩有的资源量。(3)定义决策变量。决策的实质是关于状态的选择,是决策者从给定阶段状态出发对下一阶段状态做出的选择。决策变量用表示,表示分配给第种产品的资源量。(4)正确写出状态转移方程。状态转移方程,如果给定第个阶段的状态变量,则该阶段的决策变量一经确定,第阶段的状态变量的值也就可以确定。(5

21、)确定阶段指标函数。每阶段选定决策后所产生的效益,记。(6)确定过程指标函数(目标函数)。用表示第子过程的指标函数。(7)写出动态规划函数基本方程:4.3 实例3 某公司拟将某种高效设备5台分配给所属甲、乙、丙3厂。各厂获此设备后可产生的效益如下表。问应如何分配,可使所产生的总效益最大?表 6工厂效益设备台数甲 乙 丙0 0 0 01 3 5 42 7 10 63 9 11 114 12 11 125 13 11 12 建立动态规划模型,并按逆序递推法逐段求解:1、阶段依次表示把设备分配给甲、乙、丙厂的过程;2、状态表示给第个分厂分配时尚未分配出去的台数; 3、决策表示给第个分厂分配的台数;

22、;4、状态转移;5、阶段指标表示每阶段选定决策后所产生的效益; 6、指标函数;7、预计创立额为;8、基本方程 用列表解: 表7k 3012345012345 0+0 4+0 6+011+012+012+0046111212 0 4 6111212012345k 2 0 0 0 0+0 0 00 1 0 0 0+4 5 10 1 5 5+0 0 0 0+6 2 1 5 5+4 10 20 2 10 10+0 0 0 0+11 3 1 5 5+6 14 21 2 10 10+4 3 11 11+0 0 0 0+12 1 5 5+11 4 2 10 10+6 16 13 3 11 11+4 22 4

23、 11 11+0 0 0 0+12 1 5 5+12 5 2 10 10+11 21 23 3 11 11+6 4 11 11+4 5 11 11+0k 15012345 0+21 3+16 7+149+1012+513+003791213 21023221最优策略: 为0-2-3或2-2-1, 即分给甲厂0台、分给乙厂2台、分给丙厂3台, 或分给甲厂2台、分给乙厂2台、分给丙厂1台。最优值:=21。5 结论本文从三个方面介绍了求解资源分配问题的方法,主要是线性规划、0-1规划和动态规划。用单纯形法求解简单的线性规划问题,用隐枚举法和LINGO软件求解0-1规划问题,用逆序递推法求解动态规划问

24、题。动态规划与静态规划研究的对象本质上都是在若干约束条件下的函数极值问题,两种规划在很多情况下原则上是可以相互转换的,但在解决简单的问题时常用线性规划求解,在解决整数问题时常用0-1规划求解,在解决多阶段决策问题和离散性问题时常用动态规划求解,因为在解决这种问题时用动态规划求解比用线性规划或非线性规划更加有效,并且解决时效率更高,同时易于实现。但是使用动态规划方法也有一定的限制,如没有统一的标准模型,也会使问题变得复杂化,并且只适用于一些维数相当低的问题等。所以在解决资源分配问题时可以根据问题的不同类型采用不同的解题方法,对具体问题进行具体分析,这样就可以使问题得到更好地解决。参考文献1张玉娟

25、.资源分配问题的求解D.桂林.桂林理工大学理学院.2010.12.2刁在筠,刘桂真等.运筹学M.北京:高等教育出版社,2007:29.3熊义杰.运筹学教程M.(2).北京:北京国防工业出版社.2007:85.4黄政龙.资源分配问题的优化模型转换及其算法J.中南林业科技大学学报.第27卷:第2期.2007.4.5卢向南.应用运筹学M.浙江:浙江大学出版社.2005:30-33.6赵则民.运筹学M.重庆:重庆大学出版社.2002:137.7吴庆丰.资源分配问题的动态求解方法J.淮北煤炭师范学院学报.第29卷:第2期.2008.6.附录(用LINGO软件求解的代码和结果)附录1:sets:R/1.6

26、/:z; !建立行号集合,派生出设备台数集合; L/1.3/; !建立列号集合;c(R,L):x,y; !建立双下标集合(i,j),派生出效益集合X以及0-1变量集合Y;endsetsdata:X= 0 0 0 5 5 4 15 15 26 40 40 40 80 60 45 90 70 50;z=0 1 2 3 4 5;enddatamax=sum(c(i,j):X(i,j)*y(i,j); !目标函数;for(l(i):sum(c(j,k)|k#eq#1:y(j,k)=1); !每个工厂只取一个效益值;sum(c(i,j):y(i,j)*z(i)=5; !设备总台数为5;for(c(i,j

27、):BIN (y(i,j); !为0-1变量;end附录2:Global optimal solution found. Objective value: 90.00000Extended solver steps: 0Total solver iterations: 0Variable Value Reduced Cost Z ( 1) 0.000000 0.000000 Z ( 2) 1.000000 0.000000 Z ( 3) 2.000000 0.000000 Z ( 4) 3.000000 0.000000 Z ( 5) 4.000000 0.000000 Z ( 6) 5.00

28、0000 0.000000 X ( 1, 1) 0.000000 0.000000 X ( 1, 2) 0.000000 0.000000 X ( 1, 3) 0.000000 0.000000 X ( 2, 1) 5.000000 0.000000X ( 2, 2) 5.000000 0.000000 X ( 2, 3) 4.000000 0.000000 X ( 3, 1) 15.00000 0.000000 X ( 3, 2) 15.00000 0.000000X ( 3, 3) 26.00000 0.000000 X ( 4, 1) 40.00000 0.000000 X ( 4, 2

29、) 40.00000 0.000000 X ( 4, 3) 40.00000 0.000000 X ( 5, 1) 80.00000 0.000000 X ( 5, 2) 60.00000 0.000000 X ( 5, 3) 45.00000 0.000000 X ( 6, 1) 90.00000 0.000000 X ( 6, 2) 70.00000 0.000000 X ( 6, 3) 50.00000 0.000000 Y ( 1, 1) 0.000000 0.000000 Y ( 1, 2) 0.000000 0.000000 Y ( 1, 3) 0.000000 0.000000 Y ( 2, 1) 0.000000 -5.000000Y ( 2, 2) 0.000000 -5.000000 Y ( 2, 3) 0.000000 -4.000000 Y ( 3, 1) 0.000000 -15.00000 Y ( 3, 2) 0.000000 -15.00000Y ( 3, 3) 0.000000 -26.00000 Y ( 4, 1) 0.000000 -40.00000 Y ( 4, 2) 0.000000 -40.00000 Y ( 4, 3) 0.000000 -40.00000 Y ( 5, 1) 0.000000 -80.00000

展开阅读全文
相似文档                                   自信AI助手自信AI助手
猜你喜欢                                   自信AI导航自信AI导航
搜索标签

当前位置:首页 > 包罗万象 > 大杂烩

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        获赠5币

©2010-2024 宁波自信网络信息技术有限公司  版权所有

客服电话:4008-655-100  投诉/维权电话:4009-655-100

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :gzh.png    weibo.png    LOFTER.png 

客服