资源描述:
《多目标规划培训教材.ppt》由会员上传分享,免费在线阅读,更多相关内容在PPT专区-天天文库。
1、MATLAB求解多目标规划江西师范大学数信学院吴根秀一、0-1规划的MATLAB求解数学模型:MINf’xS.T.Ax<=bAeqx=beqx=0,1命令格式:x=bintprog(f)x=bintprog(f,A,b)x=bintprog(f,A,b,Aeq,beq)x=bintprog(f,A,b,Aeq,beq,x0)x=bintprog(f,A,b,Aeq,beq,x0,options)[x,fval]=bintprog(...)[x,fval,exitflag]=bintprog(...)[
2、x,fval,exitflag,output]=bintprog(...)数学模型:MINlambdaS.T.F(x)-weight*lambda<=goal(达到目标)Ax<=b(线性不等式约束)Aeqx=beq(线性等式约束)C(x)<=0(非线性不等式约束)Ceq(x)=0(非线性等式约束)lb<=x<=ubF=[f1(x),f2(x),…]为多目标的目标函数;F与[C(x),Ceq(x)]都是通过function来定义;命令格式:x=fgoalattain(fun,x0,goal,weight
3、)x=fgoalattain(fun,x0,goal,weight,A,b)x=fgoalattain(fun,x0,goal,weight,A,b,Aeq,beq)x=fgoalattain(fun,x0,goal,weight,A,b,Aeq,beq,lb,ub)二、多目标规划的MATLAB求解命令格式:x=fgoalattain(fun,x0,goal,weight)x=fgoalattain(fun,x0,goal,weight,A,b)x=fgoalattain(fun,x0,goal,we
4、ight,A,b,Aeq,beq)x=fgoalattain(fun,x0,goal,weight,A,b,Aeq,beq,lb,ub)x=fgoalattain(fun,x0,goal,weight,A,b,Aeq,beq,lb,ub,nonlcon)x=fgoalattain(fun,x0,goal,weight,A,b,Aeq,beq,...lb,ub,nonlcon,options)[x,fval]=fgoalattain(...)[x,fval,attainfactor]=fgoalatta
5、in(...)[x,fval,attainfactor,exitflag]=fgoalattain(...)[x,fval,attainfactor,exitflag,output]=fgoalattain(...)[x,fval,attainfactor,exitflag,output,lambda]=fgoalattain(...)二、多目标规划的MATLAB求解x=fgoalattain(@myfun,x0,goal,weight,A,b,Aeq,beq,...lb,ub,@mycon)wher
6、emyconisaMATLABfunctionsuchasfunction[c,ceq]=mycon(x)c=...%computenonlinearinequalitiesatx.ceq=...%computenonlinearequalitiesat二、多目标规划的MATLAB求解x=fgoalattain(@myfun,x0,goal,weight)wheremyfunisaMATLABfunctionsuchasfunctionF=myfun(x)F=...%Computefunctionva
7、luesatx.有关优化参数设置:options=optimset(‘GradObj’,‘on’)目标函数的梯度方向参数设置为‘on’时,用下列函数定义:function[F,G]=myfun(x)F=...%Computethefunctionvaluesatxifnargout>1%TwooutputargumentsG=...%GradientsevaluatedatxEndThegradientconsistsofthepartialderivativedF/dxofeachFatthepoi
8、ntx.二、多目标规划的MATLAB求解二、多目标规划的MATLAB求解有关优化参数设置:options=optimset(‘GradConstr’,‘on’)约束条件的梯度方向参数设置为‘on’时,用下列函数定义:function[c,ceq,GC,GCeq]=mycon(x)c=...%Nonlinearinequalitiesatxceq=...%Nonlinearequalitiesatxifnargout>2%Nonlconcalledwith