1、数学建模讲座 优化建模与LINGO优化软件,例1 min f(x1,x2)=-2x1-6x2+x12-2x1x2+2x22s.t. x1+x22-x1+2x22x10, x20,Lingo 基 础,Lingo 程序 MIN=-2*X1-6*X2+X1*X1-2*X1*X2+2*X1*X1; X1+X2=2; -X1+2*X2=2;,Lingo 基 础,计算结果 Objective value: -9.777778X1 = 0.6666667 X2 = 1.333333,Lingo 基 础,例2,x1+x2=0s.t. 1.5+x1x2 - x1 - x2 0-x1x2 10 0,Lingo 基
2、 础,Lingo程序 min=exp(x1)*(4*x1*x1+2*x2*x2+4*x1*x2+2*x2+1); x1+x2=0; 1.5+x1*x2-x1-x2=0; -x1*x2-10=0; free(x1); free(x2);,Lingo 基 础,计算结果 Objective value: 5.276848 X1 = 1.224745 X2 = -1.224745 这是局部最优值,Lingo 基 础,Lingo菜单中Options,选Global Solver , 在Use Global Solver 中打钩,再次计算。,Objective value: 1.156627 X1=-3.
3、162278X2=3.162278,LINGO模型例:选址问题,某公司有6个建筑工地,位置坐标为(ai, bi) (单位:公里),水泥日用量di (单位:吨),假设:料场和工地之间有直线道路,用例中数据计算,最优解为,总吨公里数为136.2,线性规划模型,决策变量:ci j (料场j到工地i的运量)12维,选址问题:NLP,2)改建两个新料场,需要确定新料场位置(xj,yj)和运量cij ,在其它条件不变下使总吨公里数最小。,决策变量: ci j,(xj,yj)16维,非线性规划模型,LINGO模型的构成:4个段,集合段(SETS ENDSETS),数据段(DATA ENDDATA),初始段(
4、INIT ENDINIT),目标与 约束段,Lingo 基 础,例中x,y,e是一维数组,长度为2,a,b,d 也是一维数组,长度为6,c是二维数组 Lingo中如何定义它们?,Lingo 基 础,Lingo 程序 SETS段定义数组 sets: demand/16/:a,b,d; supply/12/:x,y,e; link(demand,supply):c; endsets,DATA段输入数据 data: a=1.25,8.75,0.5,5.75,3,7.25; b=1.25,0.75,4.75,5,6.5,7.75; d=3,5,4,7,6,11; e=20,20; x,y=5,1,2,7;enddata,Lingo 基 础,min=sum(link(i,j):c(i,j)*(x(j)-a(i)2+(y(j)-b(i)2)(1/2) ); for(demand(i): sum(supply(j):c(i,j) =d(i);); for(supply(i): sum(demand(j):c(j,i) =e(i); );,