文档视界 最新最全的文档下载
当前位置:文档视界 › 多目标规划

多目标规划

MOP多目标规划

多目标规划 multiple objectives programming 数学规划的一个分支。研究多于一个目标函数在给定区域上的最优化。又称多目标最优化。通常记为VMP。在很多实际问题中,例如经济、管理、军事、科学和工程设计等领域,衡量一个方案的好坏往往难以用一个指标来判断,而需要用多个目标来比较,而这些目标有时不甚协调,甚至是矛盾的。因此有许多学者致力于这方面的研究。1896年法国经济学家V.帕雷托最早研究不可比较目标的优化问题,之后,J.冯·诺伊曼、H.W.库恩、A.W.塔克尔、A.M.日夫里翁等数学家做了深入的探讨,但是尚未有一个完全令人满意的定义。求解多目标规划的方法大体上有以下几种:一种是化多为少的方法,即把多目标化为比较容易求解的单目标或双目标,如主要目标法、线性加权法、理想点法等;另一种叫分层序列法,即把目标按其重要性给出一个序列,每次都在前一目标最优解集内求下一个目标最优解,直到求出共同的最优解。对多目标的线性规划除以上方法外还可以适当修正单纯形法来求解;还有一种称为层次分析法,是由美国运筹学家沙旦于70年代提出的,这是一种定性与定量相结合的多目标决策与分析方法,对于目标结构复杂且缺乏必要的数据的情况更为实用。 1947年,J.冯·诺伊曼和O.莫根施特恩从对策论的角度提出了有多个决策者在彼此有矛盾的情况下的多目标问题。1951年,T.C.库普曼斯从生产和分配的活动中提出多目标最优化问题,引入有效解的概念,并得到一些基本结果。同年,H.W.库恩和A.W.塔克尔从研究数学规划的角度提出向量极值问题,引入库恩-塔克尔有效解概念,并研究了它的必要和充分条件。1963年,L.A.扎德从控制论方面提出多指标最优化问题,也给出了一些基本结果。1968年,A.M.日夫里翁为了排除变态的有效解,引进了真有效解概念,并得到了有关的结果。自70年代以来,多目标规划的研究越来越受到人们的重视。至今关于多目标最优解尚无一种完全令人满意的定义,所以在理论上多目标规划仍处于发展阶段。 化多为少 即把多目标规划问题归为单目标的数学规划(线性规划或非线性规划)问题进行求解,即所谓标量化的方法,这是基本的算法之一。 ①线性加权和法对于多目标规划问题(VMP),先选取向量 要求λi>0(i=1,2,…,m) 作各目标线性加权和

多目标规划

ricanxinghuji实习小编一级|消息 | 我的百科 | 我的知道 | 百度首页 | 退出我的贡献草稿箱我的任务为我推荐 新闻网页贴吧知道MP3图片视频百科文库 帮助设置 ? ? ? ? ? ? ? ? ? ? ? ? ? ? 多目标规划 科技名词定义 中文名称:多目标规划 英文名称:multiple objective program 定义:生态系统管理中,为了同时达到两个或两个以上的目标,需要在许多可行性方案中进行选择的整个过程。 所属学科:

生态学(一级学科);生态系统生态学(二级学科) 本内容由全国科学技术名词审定委员会审定公布 多目标规划是数学规划的一个分支。研究多于一个的目标函数在给定区域上的最优化。又称多目标最优化。通常记为 MOP(multi-objective programming)。 目录 编辑本段 多目标规划 multiple objectives programming 数学规划的一个分支。研究多于一个目标函数在给定区域上的最优化。又称多目标最优化。通常记为 VMP。在很多实际问题中,例如经济、管理、军事、科学和工程设计等领域,衡量 多目标规划

一个方案的好坏往往难以用一个指标来判断,而需要用多个目标来比较,而这些目标有时不甚协调,甚至是矛盾的。因此有许多学者致力于这方面的研究。1896年法国经济学家 V. 帕雷托最早研究不可比较目标的优化问题,之后,J.冯·诺伊曼、H.W.库恩、A.W.塔克尔、A.M.日夫里翁等数学家做了深入的探讨,但是尚未有一个完全令人满意的定义。求解多目标规划的方法大体上有以下几种:一种是化多为少的方法,即把多目标化为比较容易求解的单目标或双目标,如主要目标法、线性加权法、理想点法等;另一种叫分层序列法,即把目标按其重要性给出一个序列,每次都在前一目标最优解集内求下一个目标最优解,直到求出共同的最优解。对多目标的线性规划除以上方法外还可以适当修正单纯形法来求解;还有一种称为层次分析法,是由美国运筹学家沙旦于70年代提出的,这是一种定性与定量相结合的多目标决策与分析方法,对于目标结构复杂且缺乏必要的数据的情况更为实用。 编辑本段 规划简史 多目标最优化思想,最早是在1896年由法国经济学家V.帕雷托提出来的。他从政治 数学规划 经济学的角度考虑把本质上是不可比较的许多目标化成单个目标的最优 化问题,从而涉及了多目标规划问题和多目标的概念。1947年,J.冯·诺伊曼和O.莫根施特恩从对策论的角度提出了有多个决策者在彼此有矛盾的情 况下的多目标问题。1951年,T.C.库普曼斯从生产和分配的活动中提出多目标最优化问题,引入有效解的概念,并得到一些基本结果。同年,H.W.库恩和 A.W.塔克尔从研究数学规划的角度提出向量极值问题,引入库恩-塔克尔有效解概念,并研究了它的必要和充分条件。1963年,L.A.扎德从控制论方面提出多指标最优化问题,也给出了一些基本结果。1968年,A.M.日夫里翁为了排除变态的有效解,引进了真有效解概念,并得到了有关的结果。自70年代以来,多目标规划的研究越来越受到人们的重视。至今关于多目标最优解尚无一种完全令人满意的定义,所以在理论上多目标规划仍处于发展阶段。 编辑本段 求解方法 化多为少的方法 即

多目标线性规划的若干解法及MATLAB实现

多目标线性规划的若干解法及MATLAB 实现 一.多目标线性规划模型 多目标线性规划有着两个和两个以上的目标函数,且目标函数和约束条件全是线性函 数,其数学模型表示为: 11111221221122221122max n n n n r r r rn n z c x c x c x z c x c x c x z c x c x c x =+++??=+++?? ??=+++? (1) 约束条件为: 1111221121122222112212,,,0 n n n n m m mn n m n a x a x a x b a x a x a x b a x a x a x b x x x +++≤??+++≤?? ??+++≤?≥?? (2) 若(1)式中只有一个1122i i i in n z c x c x c x =+++ ,则该问题为典型的单目标线性规划。我们记:()ij m n A a ?=,()ij r n C c ?=,12(,,,)T m b b b b = ,12(,,,)T n x x x x = , 12(,,,)T r Z Z Z Z = . 则上述多目标线性规划可用矩阵形式表示为: max Z Cx = 约束条件:0 Ax b x ≤?? ≥? (3) 二.MATLAB 优化工具箱常用函数[3] 在MA TLAB 软件中,有几个专门求解最优化问题的函数,如求线性规划问题的linprog 、求有约束非线性函数的fmincon 、求最大最小化问题的fminimax 、求多目标达到问题的fgoalattain 等,它们的调用形式分别为: ①.[x,fval]=linprog(f,A,b,Aeq,beq,lb,ub) f 为目标函数系数,A,b 为不等式约束的系数, Aeq,beq 为等式约束系数, lb,ub 为x 的下 限和上限, fval 求解的x 所对应的值。 算法原理:单纯形法的改进方法投影法 ②.[x,fval ]=fmincon(fun,x0,A,b,Aeq,beq,lb,ub ) fun 为目标函数的M 函数, x0为初值,A,b 为不等式约束的系数, Aeq,beq 为等式约束

多目标规划帕累托解算例

Pareto: In the single objective case, one attempts to obtain the best solution, which is absolutely superior to all other alternatives. 在单目标的情况下,一个试图以获得最佳的解决方案,这是绝对优于所有其他的替代品。 In the multiple objective case, there does not necessarily exist a solution that is best with respect to all objectives because of incommensurability and conflict among objectives. 在多个目标的情况下,不存在必然存在着一个解决方案,最好是不可通约性和目标之间的的冲突,因为所 有的目标。 There usually exist a set of solutions; nondominated solutions or Pareto optimal solutions, for the multiple objective case which cannot simply be compared with each other. 通常存在的一整套解决方案;非支配的解决方案或帕累托最优的解决方案,为多个目标的情况下,不能简单 地互相比较。 For a given nondominated point in the criterion space Z, its image point in the decision space S is called efficient or noninferior. A point in S is efficient if and only if its image in Z is nondominated. 对于一个给定的的标准空间z的非支配点,其形象在决定空间S点是所谓的效率或劣。非支配当且仅当其 在Z的形象是一个S点是有效的。 Definition 1: For a given point z0€Z, it is nondominated if and only if there does not exist another point z€Z such that, for the maximization case,where, z0 is a dominated point in the criterion space Z. Definition 2: For a given point x0€S, it is efficient if and only if there does not exist another point x€S such that, for the maximization case,where, x0 is inefficient.定义1:对于一个给定的点Z0属于Z,它非支配当 且仅当不存在另一点于属于z的,最大化的情况下,其中,Z0是在标准空间Z.的主导点 定义2:对于一个给定的点x0属于S,它是有效的当且仅当不存在另一点x属于S,最大化的情况下,其 中,X0是低效的。 Example 1: Two-objective (bicriteria) linear programming 例1:两个目标(bicriteria)线性规划 m ax We can observe that both regions are convex and the extreme points of Z are the images of extreme points of S. 我们可以观察到,这两个地区是凸的并且极端点的Z是极值点S的的图像。 The extreme points in the feasible region S of the decision space are shown in Fig. 4.1: 在可行区域的决策空间小号的极端点如图.4.1:

Excel规划求解工具在多目标规划中的应用

Excel规划求解工具在多目标规划中的应用 摘要:多目标决策方法是从20世纪70年代中期发展起来的一种决策分析方法。该方法已广泛应用于人口、环境、教育、能源、交通、经济管理等多个领域。文章采用多目标决策方法中分层序列法的思想,应用excel的规划求解工具,对多目标规划问题进行应用研究,并以实例加以说明。 abstract: multi-objective decision method is a kind of decision analysis method from the mid 1970s. the method has been widely used in population, environment, education,energy, traffic, economic management, and other fields. this paper uses the lexicographic method of multi-objective decision method and makes some researches on the multi-objective problem using the excel solver tool and an example to illustrate. 关键词: excel规划求解;多目标规划;分层序列法 key words: excel solver;multi-objective programming;the lexicographic method 中图分类号:tp31 文献标识码:a 文章编号:1006-4311(2013)21-0204-02 0 引言 excel中的规划求解工具只能对单目标的问题进行求解。当遇到多目标问题时,可以把多目标问题先转化为单目标问题,然后求解。

多目标规划问题知识讲解

多目标规划问题

3.5 黑龙江省可持续农业产业结构优化模型的求解 鉴于上面的遗传算法的基本实现技术和理论分析,对标准遗传算法进行适当改进,将其用于求解黑龙江省可持续农业产业结构优化模型中。黑龙江省农业产业结构优化模型具有大系统、多目标、非线性等特点,传统的求解方法受到了模型复杂程度的限制,由引言可知,遗传算法对解决此类问题具有明显的优势。下面介绍具体采用的遗传多目标算法操作设计以及模型求解过程。 3.5.1遗传多目标算法操作设计 3.5.1.1 实数编码方法 在求解复杂优化问题时,二进制向量表示结构有时不太方便,并且浮点数编码的遗传算法对变异操作的种群稳定性比二进制编码好(徐前锋,2000)。以浮点数编码的遗传算法也叫实数遗传算法(Real number Genetic Algorithms ,简称RGA )。每一个染色体由一个浮点数向量表示,其长度与解向量相同。假如用向量),(21n x x x X 表示最优化问题的解,则相应的染色体就是 ),(21n x x x V ,其中n 是变量个数。 3.5.1.2 种群初始化方法 遗传算法中初始群体的个体是随机产生的,由于本文优化模型所涉及的变量容易给出一个相对较大的问题空间的变量分布范围,并且若给出一定的搜索空间也会加快遗传算法的收敛速度;因此本文采取3.3.2中的第一种策略,对每一个变量设置可能区间,然后在可能区间内随机产生初始种群。为保证不会遗漏最优解,选择区间跨度范围很大。 3.5.1.3 适应度函数设计

用遗传算法求解多目标优化问题中出现的一个特殊情况就是如何根据多个目标来确定个体的适应值。本文采用Gen 和Cheng 提出的适应性权重方法 (Adaptive Weight Approach ),该方法利用当前种群中一些有用的信息来重新调整权重,从而获得朝向正理想点的搜索压力(玄光男等,2004)。将目标函数按3.3.3所述转化成带有q 个目标(本文模型3 q )的最大化问题: )}(,),(),({max 2211x f z x f z x f z q q (3-14) 对于每代中待检查的解来说,在判据空间中定义两个极限点:最大极限点 z 和最小极限点 z 如下: },,,{} ,,,{m in m in 2m in 1m ax m ax 2m ax 1q q z z z z z z z z (3-15) 其中m in m ax k k z z 和是当前种群中第k 个目标的最大值和最小值。由两个极限点定义的超平行四边形是包含当前所有解的最小超平行四边形。两个极限点每代更新,最大极限点最终将接近正理想点。目标k 的适应性权重用下式计算: ),,2,1(1 min max q k z z k k k 因此,权重和目标(Weighted-sum Objective )函数由下面的公式确定 q k k k k q k k k z z x f x f x z 1m in m ax 1)()()( (3-16) 3.5.1.4 遗传操作 (1)选择操作。以比例选择法和最优个体保存法配合使用进行选择操作,即选择过程仍以旋转赌轮来为新的种群选择染色体,适应度越高的染色体被选中的概率越大;另一方面,为了保证遗传算法的全局收敛性,在选择作用后保留当前群体中适应度最高的个体,不参与交叉和变异,同时也确保当前最优个体不被随机进行的遗传操作破坏。

第1节多目标规划问题

第1节多目标规划问题 一、线性规划的局限性 第一,线性规划是在一组线性约束条件下,寻求某一项目标(如产量、利润或成本等)的最优值。而实际问题中往往要考虑多个目标的决策问题。 第二,线性规划最优解存在的前提条件是可行域为非空集,否则,线性规划无解。然而实际问题中,有时可能出现资源条件满足不了管理目标要求的情况,此时,仅做出无解的结论是没有意义的。现实中,也有可能各个目标相互矛盾,根本找不出一个全部目标都满足的解,但是在决策时,也必须找出一个满意的解。 第三,线性规划问题中的约束条件是不分主次、同等对待的,是一律要满足的“硬约束”,而在实际问题中,多个目标和多个约束条件并不一定是同等重要的,而是有轻重缓急和主次之分;有近期目标,也有远期目标;有定量的,也有定性的;有互相补充的,也有互相对立的,对这样复杂的决策问题,线性规划方法就无能为力了。 第四,线性规划的最优解可以说是绝对意义的最优,但很多实际情况只需(或只能)找出满意解。 上述原因限制了线性规划的应用范围。目标规划就是在解决以上问题的研究中应运而生,它能更确切地描述和解决经济管理中的许多实际问题。 二、多目标规划的提出 [例4—1]对于例1—1的生产计划问题,问如何安排甲、乙产品的产量,使企业利润为最大? 解设生产甲产品的产量为x1,乙产品的产量为x2,该问题的线性规划模型可以表示为: maxZ=3x1+5x2 s.t. 假设该厂根据市场需求或合同规定,希望尽量扩大产品甲的生产量,减少产品乙的生产,这时又增加了两个目标,则可建立如下的模型: maxZ1=3x1+5x2 maxZ2=x1 minZ3=x2 s.t.

容易看出,这是一个具有三个目标的线性规划模型,这些目标之间一般是相互矛盾的。从上述例子不难得出,多目标线性规划模型的原始一般形式如下: max(min)Z1=c11x1+c12x2+…+c1n x n max(min)Z2=c21x1+c22x2+…+c2n x n …… max(min)Z l=c l1x1+c l2x2+…+c ln x n 式中,有n个决策变量,m个约束条件,l个目标函数。当l=1时,即为我们熟悉的单目标线性规划模型。 三、多目标规划的解法 显然,对上述多目标线性规划模型,一般的线性规划方法不能求解。为此,许多学者提出了求解多目标规划问题的方法,其中不少方法已取得了富有成效的应用。而且,新的算法仍在不断地提出和改进。在这众多的算法中,绝大多数是基于以下加权系数法、优先等级法和有效解法的基本思想。 (一)加权系数法 这类方法的基本思想是试图在各目标之间寻找一种统一的度量标准,通过为每一目标赋一个加权系数,把多目标模型转化成单一目标的模型。从计算的角度看,这种方法确实吸引人。如果原模型是线性的,就可以用传统的单纯形法求解。但这类方法存在的一个明显的困难就是难以确定合理的加权系数。加权系数法一般应用于具有同一度量标准的多目标模型中。 (二)优先等级法 这类方法也是试图将多目标问题转化为单目标模型,但它避开了给各目标确定一个很难找到的加权系数,而是将各目标按其重要程度分成不同的优先等级,然后根据确定的目标优先等级的次序来求解。如果上一等级的目标得不到满足,则下一等级目标不予考虑。 (三)有效解法 这类方法的基本思想与前两类方法有很大的区别。在多目标规划问题中,最优解是使所有目标同时达到最优值的可行解。但是,在更多的情况下,由于众多的目标之间常常相互矛盾,因此,多目标规划问题的绝对最优解往往是不存在的,一部分目标的改善往往以牺牲另一部分目标的利益为代价。因而,多目标规划问题转而求能够照顾到各个目标,并使决策者感到满意的解。有效解或非劣解法就是找出可行域中全部的有效解或非劣解。如果能找到全部的有效

多目标规划问题Matlab示例_fgoalattain

多目标规划问题: x = fgoalattain(fun,x0,goal,weight,A,b,Aeq,beq,lb,ub,nonlcon,... options) minimizes with the optimization options specified in the structure options. Use optimset to set these options. 例子:三个目标函数: 求最大值的: f(1)=0.082*x(1)+0.072*x(2)+0.065*x(3)+0.054*x(4)+0.038*x(5)+0.057*x(6)+0. 045*x(7) 求最小值的: f(2)=0.072*x(1)+0.063*x(2)+0.057*x(3)+0.05*x(4)+0.032*x(5)+0.0442*x(6)+0. 0675*x(7) f(3)=128*x(1)+78.1*x(2)+64.1*x(3)+43*x(4)+58.1*x(5)+36.9*x(6)+50.5*x(7)

约束条件: 0.082*x(1)+0.072*x(2)+0.065*x(3)+0.054*x(4)+0.038*x(5)+0.057*x(6)+0.045*x (7)>=7.2 0.072*x(1)+0.063*x(2)+0.057*x(3)+0.05*x(4)+0.032*x(5)+0.0442*x(6)+0.0675 *x(7)<=264.4 128*x(1)+78.1*x(2)+64.1*x(3)+43*x(4)+58.1*x(5)+36.9*x(6)+50.5*x(7)<=6971 9 lb=[0,0,0,0,0,0,0] ub=[426,390,430,374,445,534,476] f(1),f(2),f(3)的权值分别是:0.193,0.083,0.724 程序代码: %====================== function z=fgoalattain % 多目标最优化 clear all; clc % 给定目标,权重按目标比例确定,给出初值 options = optimset('TolCon',1e-008) goal = [-7 264 69000]; weight = [0.193 0.083 0.724]; x0 = [1 1 1 1 1 1 1]; % 给出约束条件的系数 A=[-0.082 -0.072 -0.065 -0.054 -0.038 -0.057 -0.045;0.072 0.063 0.057 0.05 0.032 0.0442 0.0675;128 78.1 64.1 43 58.1 36.9 50.5] B=[-7.2; 264.4;69719] Aeq = []; Beq = []; lb=[0,0,0,0,0,0,0] ub=[426,390,430,374,445,534,476] % 求解 [x,fval,attainfactor,exitflag] = fgoalattain(@ObjFun,x0,goal,weight,A,B,Aeq,Beq,lb,ub) % ------------------------------------------------------------------ function f = ObjFun(x) f1=0.082*x(1)+0.072*x(2)+0.065*x(3)+0.054*x(4)+0.038*x(5)+0.057*x(6)+0.04 5*x(7);

相关文档
相关文档 最新文档