预览加载中,请您耐心等待几秒...
1/10
2/10
3/10
4/10
5/10
6/10
7/10
8/10
9/10
10/10

亲,该文档总共87页,到这已经超出免费预览范围,如果喜欢就直接下载吧~

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

提要最优化概论一、最优化概念数学建模竞赛中的优化问题数学建模竞赛中的优化问题无约束最优化问题三、最优化问题分类三、最优化问题分类(续)三、最优化问题分类(续)四、求解最优化问题的方法最优化方法通常采用迭代法求最优解,过程是:六、最优化方法的基本结构七、搜索算法结构框图八、最优化方法解决问题的步骤九、MATLAB优化工具箱简介2.常用函数:3.Options选项说明4.输出变量说明2010数模竞赛培训线性规划问题及其MATLAB解法线性规划问题及其MATLAB解法线性规划问题及其MATLAB解法x1+x25, -6x110, -1x24;1.整数线性规划一般形式2、整数规划的计算机求解方法LP问题的Lindo输入范例ILP问题的Lindo输入范例之一ILP问题的Lindo输入范例之二ILP问题的Lingo输入范例一ILP问题的Lingo输入范例之二使用LINDO的一些注意事项变量不能出现在一个约束条件的右端 表达式中不接受括号“()”和逗号“,”等任何符号,例:400(X1+X2)需写为400X1+400X2 表达式应化简,如2X1+3X2-4X1应写成-2X1+3X2 缺省假定所有变量非负;可在模型的“END”语句后用“FREEname”将变量name的非负假定取消 可在“END”后用“SUB”或“SLB”设定变量上下界 例如:“subx110”的作用等价于“x1<=10” 但用“SUB”和“SLB”表示的上下界约束不计入模型的约束,也不能给出其松紧判断和敏感性分析。 14.“END”后对0-1变量说明:INTn或INTname 15.“END”后对整数变量说明:GINn或GINname二次规划及其MATLAB求解方法用MATLAB优化工具包求解二次规划时必须先化为如下形式: (QP) 多目标规划及其求解方法求解多目标规划的方法主要目标法线性加权法极大极小法为权值系数向量。于是多目标规划问题化为:在Matlab的优化工具箱中,fgoalattain函数用于解决此类问题。其数学模型形式为: minγ F(x)-weight·γ≤goal c(x)≤0非线性不等式约束 ceq(x)=0非线性等式约束 Ax≤b线性不等式约束 Aeqx=beq线性等式约束 lb≤x≤ub 其中,x,weight,goal,b,beq,lb和ub为向量,A和Aeq为矩阵,c(x),ceq(x)和F(x)为函数例1:投资组合模型Si基本假设符号规定模型的建立与分析净收益尽可能大采用主要目标法化为单目标规划若投资者希望总盈利至少达到水平k以上,在风险最小的情况下寻找相应的投资组合。采用线性加权法化为单目标规划模型一的求解a=0; while(1.1-a)>1 c=[-0.05-0.27-0.19-0.185-0.185]; Aeq=[11.011.021.0451.065];beq=[1]; A=[00.025000;000.01500;0000.0550;00000.026]; b=[a;a;a;a]; vlb=[0,0,0,0,0];vub=[]; [x,val]=linprog(c,A,b,Aeq,beq,vlb,vub); a x=x' Q=-val plot(a,Q,'.'),axis([00.100.5]),holdon a=a+0.001; end xlabel('a'),ylabel('Q')计算结果:在a=0.006附近有一个转折点,在这一点左边,风险增加很少时,利润增长很快。在这一点右边,风险增加很大时,利润增长很缓慢,所以对于风险和收益没有特殊偏好的投资者来说,应该选择曲线的拐点作为最优投资组合,大约是: a*=0.6%,Q*=20%。 约束非线性规划x=fmincon(‘fun’,x0,A,b) x=fmincon(‘fun’,x0,A,b,Aeq,beq) x=fmincon(‘fun’,x0,A,b,Aeq,beq,lb,ub) x=fmincon(‘fun’,x0,A,b,Aeq,beq,lb,ub,nonlcon) x=FMINCON(FUN,X0,A,B,Aeq,Beq,LB,UB,NONLCON, OPTIONS)【例1】function[g,cep]=fun2(x) g=[];%g为非线性不等式,且为g<=0 ceq=exp(x(1))+x(2)^2-3;%ceq为非线性等式 然后存储为fun2.m【例2】x0=[1;1;1;1];A=[1111;3321]; B=[5;10];Aeq=[];Beq=[]; Lb=[0;0;0;0]; [x,g]=fmincon(‘fun5’,x0,A,B,Aeq,Beq,Lb)小结:用Matlab求解非线性规划问题,基本步骤:s.t.求解最大最小化问题