1、2023-5-5主要内容主要内容 案例背景案例背景 最大最小问题的最大最小问题的MATLAB求解求解 案例扩展案例扩展2023-5-5第一节第一节 案例背景案例背景2023-5-5一、最大最小问题的数学模型一、最大最小问题的数学模型12minmax(,)()0,1,2,.()0,1,2,nijfffh ximstgxjn2023-5-5二、垃圾场选址问题二、垃圾场选址问题【例例15.1-1】已知已知A,B,C,D,E五个城市的位置分布如图五个城市的位置分布如图15.1-1所所示,坐标如表示,坐标如表15.1-1所列。计划在所列。计划在A,B,C,D,E五个城市之间建造五个城市之间建造一个垃圾厂
2、一个垃圾厂P,使得,使得 五个城市将垃圾运往垃圾厂五个城市将垃圾运往垃圾厂P的运输成本的运输成本尽可能的相差不大。尽可能的相差不大。由于运输成本主要由城市与垃圾厂之间由于运输成本主要由城市与垃圾厂之间的距离决定,所以垃圾处理厂的距离决定,所以垃圾处理厂P的选址目标是使得五个城市到的选址目标是使得五个城市到垃圾厂垃圾厂P的距离尽量相近。的距离尽量相近。城市城市X坐标坐标Y坐标坐标A1.56.8B6.07.0C8.96.9D3.54.0E7.43.12023-5-5ABCDEyxOP2023-5-5【例例15.1-1续续】该例数学模型如下:该例数学模型如下:125221222223224225mi
3、nmax(,)(1.5)(6.8)(6.0)(7.0)(8.9)(6.9)(3.5)(4.0)(7.4)(3.1)APBPCPDPEPffffdxyfdxyfdxyfdxyfdxy2023-5-5第二节第二节 最大最小问题的最大最小问题的MATLAB求解求解2023-5-5一、一、fminimax函数函数1.最大最小问题的标准型最大最小问题的标准型12minmax(),(),()()0()0.nxf xfxfxc xceq xstA xbAeq xbeqlbxub2023-5-5 x,fval=fminimax(fun,x0,A,b,Aeq,beq,lb,ub,nonlcon,options)
4、最优解最优解最优值最优值目标函数对应的函数句柄目标函数对应的函数句柄初始迭代点初始迭代点线性不等式约束系数矩阵线性不等式约束系数矩阵线性等式约束系数矩阵线性等式约束系数矩阵线性等式约束常数向量线性等式约束常数向量可行域下界可行域下界可行域上界可行域上界非线性约束函数对应的函数句柄非线性约束函数对应的函数句柄优化参数设置优化参数设置2.fminimax函数的调用格式函数的调用格式线性不等式约束常数向量线性不等式约束常数向量2023-5-5二、垃圾场选址问题求解二、垃圾场选址问题求解 minimaxMyfun=(x)sqrt(x(1)-1.5)2+(x(2)-6.8)2;(x(1)-6.0)2+(
5、x(2)-7.0)2;(x(1)-8.9)2+(x(2)-6.9)2;(x(1)-3.5)2+(x(2)-4.0)2;(x(1)-7.4)2+(x(2)-3.1)2);1.目标函数对应的匿名函数目标函数对应的匿名函数2023-5-5 x0=0.0;0.0;%设置初始迭代点设置初始迭代点 x,fval=fminimax(minimaxMyfun,x0)%最优解最优解x=5.2093 6.1608%最优解对应的各目标函数值向量最优解对应的各目标函数值向量fval=3.7640 1.1530 3.7640 2.7551 3.76402.调用调用fminimax函数进行求解函数进行求解2023-5-5
6、第三节第三节 案例扩展案例扩展2023-5-5一、扩展问题一、扩展问题【例例15.3-1】在原问题上附加约束:在原问题上附加约束:A,B,C,D,E五个城市之间有五个城市之间有一条高速公路,该公路的直线方程为一条高速公路,该公路的直线方程为y=x-2.5,为方便转运垃,为方便转运垃圾,垃圾处理厂需要紧邻公路。圾,垃圾处理厂需要紧邻公路。ABCDEyxOPL2023-5-5【例例15.3-1续续】该例数学模型如下:该例数学模型如下:12512221222223224225minmax(),(),().2.5(1.5)(6.8)(6.0)(7.0)(8.9)(6.9)(3.5)(4.0)(7.4)
7、(3.1)APBPCPDPEPf xfxfxstxxfdxyfdxyfdxyfdxyfdxy2023-5-5二、调用二、调用fminimax函数进行求解函数进行求解 minimaxMyfun=(x)sqrt(x(1)-1.5)2+(x(2)-6.8)2;(x(1)-6.0)2+(x(2)-7.0)2;(x(1)-8.9)2+(x(2)-6.9)2;(x(1)-3.5)2+(x(2)-4.0)2;(x(1)-7.4)2+(x(2)-3.1)2);x0=0.0;0.0;Aeq=1,-1;beq=2.5;%调用调用fminimax函数求解模型(函数求解模型(15.3-1)x,fval=fminimax(minimaxMyfun,x0,Aeq,beq)