得:H=[1 -1;-1 2], f=[-2;-6], x=[x1;x2]; ? 表示其它矩阵或向量
A=[1 1;-1 2;2 1]; b=[2;2;3]; lb=[0;0];Aeq=[];beq=[];ub=[]。不指派初始解。
二次规划—Matlab函数应用
? 调用二次规划函数
[x,fval]=quadprog(H,f,A,b,[],[],lb) ? 运行结果:
x =[0.6667;1.3333] fval =-8.2222 iterations: 3
algorithm: ?medium-scale: active-set(积极约束集方法)'
优化决策理论与方法
1、线性规划
2、非线性规划(约束和非约束) 3、多目标规划
4、组合优化与整数规划
多目标规划—管理实例
? (物资调度)假设物资调度部门计划将某种物资从若干个存储仓库调运到若干
个销售网点销售。考虑到物资的时效性和销售效益,调度部门希望物资在运输过程中尽可能快地到达目的地;同时,考虑到运输成本,调度部门还希望物资的总运输费用最小。试建立描述物资调运过程的数学模型。
? 解:设共有m个仓库,第i个仓库的物资库存量为ai吨;有n个销售网点,第j个销售网点的销售量为bj吨。第i个仓库到第j个销售网点的距离为dij,单位物资的运费为cij。设从第i个仓库运到第j个销售网点的物资量为xij。
多目标规划—管理实例
? 决策目标:
? 运输速度最快,可用吨公里数(可观测变量)最小描述。总吨公里数为
?i?jdijxij;
? 运输费用最小。总运输费用为?i?jcijxij;
? 约束条件
? 每个仓库的运出量不超过仓库的库存量:?jxij?ai; ? 运到每个销售网点的量与其销售能力相匹配:?ixij=bj; ? 每个仓库的运出量非负:xij?0。
多目标规划—管理实例
? 最后得到模型: ? 模型包含2个目标; ? mn个决策变量; ? mn+m+n个约束。
多目标规划—标准型
? 多目标规划(multi-Objective Programming,MOP)就是指在决策变
量满足给定约束的条件下研究多个可数值化的目标函数同时极小化(或极大化)的问题。其一般形式如下:
Min f(x)=(f1(x),f2(x),…,fp(x))T, S.t. gi(x)?0;i?I
hj(x)=0;j??。
多目标规划—Pareto最优解
? 设x*是可行域S上的一个点,对于?x?S,均有:fi(x*)?fi(x)(i=1,…,p),
称x*为MOP问题的绝对最优解;若不存在x?S,使得fi(x)?fi(x*)(或fi(x) 多目标规划—Pareto最优解存在条件 ? (必要条件)假设向量值函数f=[f1(x),…,fp(x)] T , g=[g1(x),…,g|I|(x)]T, h=[h1(x),…,h|?|(x)]T在x*?S处可微,若x*是MOP问题的有效解或弱有效解,则存在向量??R+p,??R+|I|,??R+|?|,使得(?,?,?)≠0,且 ?f(x*)?=?g(x*)?+?h(x*)? ?Tg(x*)=0。 多目标规划—求解方法 ? 直接求解多目标规划问题的有效解集是NP-难问题。下面介绍多目 标规划问题的间接解法,基本思路都是将多目标规划问题转化为一个或多个单目标优化问题。 ? 基于一个单目标问题的方法:将原来的多目标规划问题转化成一个 单目标优化问题,然后利用非线性优化算法求解该单目标问题,所得解作为MOP问题的最优解。关键问题在于:保证所构造的单目标问题的最优解是MOP问题的有效解或弱有效解。 多目标规划—求解方法 ? 线性加权和法: Min ?Tf(x)=?k?kfk(x), S.t. gi(x)?0;i?I hj(x)=0;j?? ? 权重设置要求:?k?k=1, ?k?0(k=1,2,…,p)。 ? 主要目标法: Min f(x)=f1(x),(不妨设f1(x)为主要目标) S.t. gi(x)?0;i?I hj(x)=0;j?? fk(x)?uk, k=2,…,p ? uk为专家经验值。 多目标规划—求解方法 ? 极小化极大法:在目标函数f(x)的p个分量中,极小化f(x)的最大分 量,即 minx?Smax1?j?pfj(x) ? 理想点法:分别求出f(x)中每个分量fj(x)的极小点fj 0 ,得到理想点 f0=(f10,…,fp0)T;然后求解单目标优化问题: minx?S||f(x)-f0||?。 ? ?为范数的阶,可取1,2, ∞。 多目标规划—求解方法 ? 基于多个单目标问题的方法:将原来的多目标规划问题转化成具有 一定次序的多个单目标优化问题,然后依次求解这些单目标优化问题,并把最后一个单目标优化问题的解作为MOP问题的最优解。关键问题在于:保证最后一个单目标优化问题的最优解是MOP问题的有效解或弱有效解。 ? 分层排序法:将目标函数按重要度依次排序,然后在前一个目标函 数的最优解集中寻找下一个目标的最优解集,并把最后一个目标的最优解作为MOP问题的最优解。 多目标规划—求解方法 ? min f1(x),x?S(不妨设f1(x)为第一层目标),得到最优解集S; ? 第j层:min fj(x),x?S,j=2,…,p ? 最后将S中的点作为多目标问题的最优解。 p j-1 1 多目标规划—Matlab函数应用 ? Optimization ToolBox Min max {fi(x)} s.t. c(x)?0 ceq(x)=0 A·x?b Aeq·x=beq lb?x?ub ? [x,fval] = fminimax(fun,x0,A,b,Aeq,beq,lb,ub,nonlcon) ? Fun定义目标函数;x0定义初始可行解;nonlcon定义c(x)和ceq(x)。 多目标规划—Matlab函数应用 ? 用法 ? 创建一个matlab文件,如myfun.m function f = myfun(x) f(1) = f1(x);f(2)=f2(x);…;f(p)=fp(x) ? 创建另一个matlab文件,如confun.m function [c, ceq] = confun(x) c = c(x); ceq = ceq(x); ? 调用fminimax并指定初始搜索点以及其他向量、矩阵。 x0=[x1,x2,…,xn];A;b;Aeq;beq;lb;ub; [x,fval]=fminimax(@myfun,x0,A,b,Aeq,beq,lb,ub,@confun) 多目标规划—Matlab函数应用 ? Optimization ToolBox Minx,? ? s.t. F(x)-weight·??goal c(x)?0 ceq(x)=0 A·x?b Aeq·x=beq lb?x?ub ? [x,fval]=fgoalattain(fun,x0,goal,weight,A,b,Aeq,beq,lb,ub,nonlcon) ? Fun定义目标函数;goal为理想点;x0定义初始可行解;nonlcon定义c(x)和ceq(x)。weight为各目标的权重向量。 多目标规划—Matlab函数应用 ? 用法 ? 创建一个matlab文件,如myfun.m function f = myfun(x) f(1) = f1(x);f(2)=f2(x);…;f(p)=fp(x) ? 创建另一个matlab文件,如confun.m function [c, ceq] = confun(x) c = c(x); ceq = ceq(x); ? 调用fgoalattain并设定理想点、权重向量,指定初始搜索点以及其他向量、矩阵。 x0=[x1,x2,…,xn];A;b;Aeq;beq;lb;ub;goal;weight [x,fval]=fgoalattain(@myfun,x0,goal,weight,A,b,Aeq,beq,lb,ub,@confun) 多目标规划—Matlab函数应用 ? 例:min {f1,f2,f3,f4,f5} f(1)= 2*x(1)^2+x(2)^2-48*x(1)-40*x(2)+304; f(2)= -x(1)^2 - 3*x(2)^2; f(3)= x(1) + 3*x(2) -18; 百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说综合文库决策理论与方法(4)在线全文阅读。
相关推荐: