LINGO_程序范例_第1页
LINGO_程序范例_第2页
LINGO_程序范例_第3页
LINGO_程序范例_第4页
LINGO_程序范例_第5页
已阅读5页,还剩34页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

线性规划LINGO程序集 向浩 2011-7-20程序一:Model:Max= 4.8*x11 + 4.8*x21 + 5.6*x12 + 5.6*x22 - 10*x1 - 8*x2 - 6*x3;x11+x12 x + 500;x21+x22 0; 0.4*x12 - 0.6*x22 0;x=x1+x2+x3; (x1 - 500) * x2=0; (x2 - 500) * x3=0; bnd(0,x1, 500);bnd(0,x2, 500);bnd(0,x3,500);End程序二:Model:SETS:Points/1.4/: b, c, y, z;! 端点数为4,即分段数为3;ENDSETSDATA:b=0 500 1000 1500;c=0 5000 9000 12000;y=,0;! 增加的虚拟变量y(4)=0;ENDDATAMax= 4.8*x11 + 4.8*x21 + 5.6*x12 + 5.6*x22 - sum(Points: c*z);x11+x12 x + 500;x21+x22 0; 0.4*x12 - 0.6*x22 0;sum(Points: b*z)=x;for(Points(i)|i#eq#1: z(i) = y(i);for(Points(i)|i#ne#1: z(i) = y(i-1)+y(i);sum(Points: y)=1;sum(Points: z)=1;for(Points: bin(y);End程序三:MODEL:TITLE 瓶颈设备的多级生产计划;! 从文本文件exam0502.LDT中读取数据;SETS:! PART = 项目集合, Setup = 生产准备费,Hold = 单件库存成本, A = 对瓶颈资源的消耗系数;PART/ FILE( F:lindolindo书ch05exam0502.LDT)/ : Setup, Hold, A;! TIME = 计划期集合,Capacity = 瓶颈设备的能力;TIME / FILE( F:lindolindo书ch05exam0502.LDT)/ : Capacity;! USES = 项目结构关系,Req = 项目之间的消耗系数;USES( PART, PART) : Req;! PXT = 项目与时间的派生集合,Demand = 外部需求, X = 产量(批量), Y = 0/1变量,INV = 库存;PXT( PART, TIME): Demand, X, Y, Inv;ENDSETS! 目标函数;OBJ Min = sum(PXT(i,t): setup(i)*Y(i,t) + hold(i)*Inv(i,t) );! 物流平衡方程;FOR( PXT(i, t) | t #NE# 1 : Bal Inv(i,t-1)+X(i,t)-Inv(i,t) = Demand(i, t) + SUM( USES(i,j): Req(i,j)*X(j,t) );FOR( PXT(i, t) | t #eq# 1 : Ba0 X(i,t)-Inv(i,t) = Demand(i, t) + SUM( USES(i,j): Req(i,j)*X(j,t) );! 能力约束;FOR( TIME(t): Cap SUM( PART(i): A(i)*X(i,t) ) Capacity(t) ); ! 其他约束;M = 25000;FOR( PXT(i,t): X(i,t) NUM(I) ); !满足需求约束;FOR(CUTS(J): SUM(NEEDS(I): LENGTH(I)*R(I,J) ) CAPACITY -MIN(NEEDS(I):LENGTH(I) ); !合理切割模式约束;SUM(CUTS(I): X(I) ) 26; SUM(CUTS(I): X(I) ) X(I+1) ); !人为增加约束;FOR(CUTS(J): GIN(X(J) ) ;FOR(PATTERNS(I,J): GIN(R(I,J) );end程序五:model:Title 面试问题;SETS:! Person = 被面试者集合,Stage = 面试阶段的集合;Person/FILE(exam0505.txt)/;Stage/FILE(exam0505.txt)/;! T = 已知的面试所需要的时间,X = 面试开始时间;PXS(Person,Stage): T, X;! Y(i,k) = 1: k排在i前,0:否则;PXP(Person,Person)|&1 #LT# &2: Y;ENDSETSDATA:T=FILE(exam0505.txt);ENDDATAobj min =MAXT;! MAXT是面试的最后结束时间;MAXT = max(PXS(i,j)|j#EQ#size(stage): x(i,j)+t(i,j);! 只有参加完前一个阶段的面试后才能进入下一个阶段;for(PXS(i,j)|j #LT# size(stage): ORDER x(i,j) + t(i,j) x(i,j+1) );! 同一时间只能面试1名同学;for(Stage(j): for(PXP(i,k): SORT1 x(i,j) + t(i,j) - x(k,j) MAXT*Y(i,k) );for(PXP(i,k): SORT2 x(k,j) + t(k,j) - x(i,j) = TARGET;END程序九:MODEL:Title 含有国库券的投资组合模型;SETS: STOCKS/ A, B, C, D/: Mean,X; STST(Stocks,stocks): COV;ENDSETSDATA: TARGET = 1.1; ! 1.15;! Mean是收益均值,COV是协方差矩阵; mean=1.089083 1.213667 1.234583 1.05; COV=0.01080754 0.01240721 0.01307513 0 0.01240721 0.05839170 0.05542639 0 0.01307513 0.05542639 0.09422681 0 0 0 0 0;ENDDATAOBJ MIN = sum(STST(i,j): COV(i,j)*x(i)*x(j);ONE SUM(STOCKS: X) = 1;TWO SUM(stocks: mean*x) = TARGET;END程序十:MODEL:Title 考虑交易费的投资组合模型;SETS: STOCKS/ A, B, C/: C,Mean,X,Y,Z; STST(Stocks,stocks): COV;ENDSETSDATA: TARGET = 1.15;! 股票的初始份额; c=0.5 0.35 0.15; ! Mean是收益均值,COV是协方差矩阵; mean=1.089083 1.213667 1.234583; COV=0.01080754 0.01240721 0.01307513 0.01240721 0.05839170 0.05542639 0.01307513 0.05542639 0.09422681;ENDDATAOBJ MIN = sum(STST(i,j): COV(i,j)*x(i)*x(j);ONE SUM(STOCKS: X+0.01*Y+0.01*Z) = 1;TWO SUM(stocks: mean*x) = TARGET;FOR(stocks: ADD x = c - y + z);END程序十一:MODEL:Title 利用股票指数简化投资组合模型;SETS: STOCKS/A, B, C/: u, b, s2, x;ENDSETSDATA:! mean0,s20,u,b,s2是线性回归的结果数据;mean0=1.191458;s20 = 0.02873661;s2 = 0.005748320,0.01564263,0.03025165;u = 0.5639761, -0.2635059,-0.5809590;b = 0.4407264, 1.239802, 1.523798;ENDDATAOBJ MIN = s20*y*y + sum(stocks: s2*x*x); !OBJ MIN = s20*sqr(y) + sum(stocks: s2*sqr(x); sum(stocks: b*x)=y;sum(stocks: x)=1;sum(stocks: (u+b*mean0)*x)1.15;END程序十二:MODEL:TITLE 新产品的市场预测;SETS: PROD/ A B C D/: P; LINK(PROD, PROD): T;ENDSETSDATA: ! 转移概率矩阵; T = .75 .1 .05 .1 .4 .2 .1 .3 .1 .2 .4 .3 .2 .2 .3 .3;ENDDATAFOR(PROD(I)| I #LT# SIZE(PROD): !去掉了一个冗余约束; P(I)=SUM(LINK(J,I): P(J)* T(J,I) );SUM(PROD: P) = 1;FOR(PROD(I): WARN( 输入矩阵的每行之和必须是1, ABS( 1 - SUM(LINK(I,J): T(I,J) #GT# .000001); );END程序十三:MODEL:TITLE 产品属性的效用函数;SETS: PRICE /H, M, L/ : P; SAFETY/2, 1, 0/ : Q; M(safety, PRICE) : C0; MM(M, M)|C0(&1,&2) #LT# C0(&3,&4): ERROR;ENDSETSDATA: C0 = 7 8 9 3 4 6 1 2 5;ENDDATAFOR( MM( i, j, k, l): ERROR( i, j, k, l) = 1 + ( P( j) + Q( i) - ( P( l) + Q( k) );obj MIN = SUM(mm: ERROR);END程序十四:MODEL:TITLE 最小二乘法计算产品属性的效用函数;SETS: PRICE /H, M, L/ : P; SAFETY/2, 1, 0/ : Q; M(safety, PRICE) : C0, ERROR, sort;ENDSETSDATA: C0 = 7 8 9 3 4 6 1 2 5;ENDDATAFOR(M(i,j):sort(i,j)=p(j)+q(i); ERROR(i,j)= sort(i,j) -C0(i,j) );MIN = SUM(M: sqr(ERROR) );!obj MIN = SUM(M: ERROR2 );FOR(M(i,j): FREE(ERROR) );!FOR(price: gin(P) );!FOR(safety: gin(Q) );END程序十五:MODEL:TITLE 机票销售计划;SETS: route /AH,AB,AC,HB,HC/:a,b,p,q,x,y;ENDSETSDATA: a p b q =331905690242444319312261671994414069801618617103; c1 c2 c3 = 120 100 110;ENDDATAobj Max = SUM(route: p*x+q*y );SUM(route(i)|i#ne#4#and#i#ne#5:x(i)+y(i) c1;SUM(route(i)|i#eq#2#or#i#eq#4:x(i)+y(i) c2;SUM(route(i)|i#eq#3#or#i#eq#5:x(i)+y(i) c3;FOR(route: bnd(0,x,a);bnd(0,y,b) );END程序十六:! 3 Warehouse, 4 Customer Transportation Problem;sets: Warehouse /1.3/: a; Customer /1.4/: b; Routes( Warehouse, Customer) : c, x;endsets! Here are the parameters;data: a = 30, 25, 21; b = 15, 17, 22, 12; c = 6, 2, 6, 7, 4, 9, 5, 3, 8, 8, 1, 5;enddata! The objective;OBJ min = sum( Routes: c * x);! The supply constraints;for( Warehouse(i): SUP sum( Customer(j): x(i,j) = a(i);! The demand constraints;for( Customer(j): DEM sum( Warehouse(i): x(i,j) = b(j);程序十七:! Assignment Problem Model;sets: Flight/1.6/; Assign(Flight, Flight): c, x;endsets! Here is income matrix;data: c = 20 15 16 5 4 7 17 15 33 12 8 6 9 12 18 16 30 13 12 8 11 27 19 14 -99 7 10 21 10 32 -99 -99 -99 6 11 13;enddata! Maximize valve of assignments;max = sum(Assign: c*x);for(Flight(i): ! Each i must be assigned to some j; sum(Flight(j): x(i,j) = 1;! Each I must receive an assignment; sum(Flight(j): x(j,i) = 1;);程序十八:! 2 plants, 3 warehouses and 4 customers Transshipment Problem;sets: Plant /A, B/: produce; Warhouse /x, y, z/; Customer /1.4/: require; LinkI ( Plant, Warhouse): cI, xI; LinkII ( Warhouse, Customer): cII, xII;endsets! Here are the parameters;data: produce = 9, 8; require = 3, 5, 4, 5; cI = 1, 2, 100, 3, 1, 2; cII = 5, 7, 100, 100, 9, 6, 7, 100, 100, 8, 7, 4;enddata! The objective;OBJ min = sum( LinkI: cI * xI) + sum( LinkII: cII * xII);! The supply constraints;for( Plant(i): SUP sum( Warhouse(j): xI(i,j) = produce(i);! The warhouse constraints;for( Warhouse(j): MID sum( Plant(i): xI(i,j)=sum( Customer(k): xII(j,k);! The demand constraints;for( Customer(k): DEM sum( Warhouse(j): xII(j,k) = require(k);! 2 plants, 3 warehouses and 4 customers Transshipment Problem;sets: Plant /A,B/ : produce; Warhouse /x,y,z/; Customer /1.4/ : require; Link ( Plant, Warhouse, Customer) : poss, cost, x;endsets! Here are the parameters;data: produce = 9, 8; require = 3, 5, 4, 5; poss = 1, 1, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 1, 1, 0, 0, 1, 1, 1, 0, 0, 1, 1, 1; cost = 6, 8, 0, 0, 11, 8, 9, 0, 0, 0, 0, 0, 8,10, 0, 0, 10, 7, 8, 0, 0,10, 9, 6;enddata! The objective;OBJ min = sum( Link: poss * cost * x);! The supply constraints;for( Plant(i): SUP sum( Warhouse(j): sum( Customer(k): poss(i,j,k) * x(i,j,k)=1;!For city i, except the base (city 1);for(cities(i) | i #gt# 1 :! It must be entered; sum(cities(j)| j #ne# i: x(j,i)=1;! level(j)=levle(i)+1, if we link j and i; for(cities(j)| j #gt# 1 #and# j #ne# i : level(j) = level(i) + x(i,j) - (n-2)*(1-x(i,j) + (n-3)*x(j,i); );! The level of city is at least 1 but no more n-1, and is 1 if it links to base (city 1); bnd(1,level(i),999999); level(i)=1;!For city i, except the base (city 1);for(cities(i) | i #gt# 1 :! It must be entered; sum(cities(j)| j #ne# i: x(j,i)=1;! level(j)=levle(i)+1, if we link j and i; for(cities(j)| j #gt# 1 #and# j #ne# i : level(j) = l

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论