matlab求解正负因子目标规划,matlab学习系列27多目标规划.docx

41528d3028836879cd698677c3999917.gifmatlab学习系列27多目标规划.docx

27多目标规划一、线性规划的局限性1线性规划要求所求解问题必须满足全部的约束,而实际问题中并非所有约束都需要严格的满足;2线性规划只能处理单目标的优化问题,从而对一些次目标只能转化为约束处理,而实际问题中,目标和约束是可以相互转化的,处理时不一定要严格区分;3线性规划在处理问题时,将各个约束(也可看成目标)的地位看成同等重要,实际问题中,各个目标的重要性有层次上的差别,在同一层次也可能有不同权重;4线性规划寻找最优解,而许多实际问题只要找到满意解就可以了。例1线性规划生产安排问题某企业生产甲、乙两种产品,需要用到A,B,C三种设备,每天产品盈利与设备使用工时及限制如下表甲乙设备生产能力/HA/H/件2212B/H/件4016C/H/件0515盈利/元/件200300问该企业应如何安排生产,能使总利润最大解设甲乙产品的产量分别为X1,X2,建立线性规划模型1212MA03ST465,0ZX用LINGO可求得最优解X13,X23,Z1500但实际上,企业的经营目标不仅仅是利润,还需要考虑多个方面,比如增加下列因素(目标)(1)力求使利润不低于1500元;(2)考虑市场需求,甲乙两种产品的产量比应尽量保持12;(3)设备A位贵重设备,严格禁止超时使用;(4)设备C可以适当加班,但要控制,设备B既要求充分利用,又尽可能不加班,在重要性上,设备B是设备C的3倍。这就需要用目标规划。二、目标规划的基本概念1设置偏差变量偏差变量表示实际值与目标值之间的差异;D表示超出目标的差值,称为正偏差变量;当实际值超过目标值时,有D0,D0D表示未达到目标的差值,称为负偏差变量;当实际值未达到目标值时,有D0,D0注若实际值与目标值一致,有DD02统一处理目标与约束目标规划中,约束有两类,一类是对资源有严格限制的,用严格的等式或不等式约束来处理(同线性规划),例如,例1中设备A禁止超时使用,则有刚性约束12X另一类约束是可以不严格限制的,连同原线性规划的目标,构成柔性约束,例如,例1中希望利润不低于1500元,则目标可表示为12MIN{}03150DXD甲乙两种产品产量尽量保持12的比例,则目标可表示为12IN{}0XD设备C可以适当加班,但要控制,则目标可表示为2MIN{}515XD设备B要求充分利用,又尽可能不加班,则目标可表示为1IN{}46XD结论若希望不等式保持大于等于,则极小化负偏差;若希望不等式保持小于等于,则极小化正偏差;若希望保持等式,则同时极小化正负偏差。3目标的优先级与权系数目标规划中,目标的优先分为两个层面,第一个层面是目标分成不同的优先级,在求解目标规划时,必须先优化优先级高的目标,再优化优先级低的目标;通常用P1,P2,表示不同的因子,并规定PKPK1第二个层面是目标处于同一优先级,但两个目标的权重不同,此时应两目标同时优化,但用权重系数的大小来表示目标重要性的差别。目标规划建模中,除刚性约束必须严格满足外,对所有目标约束均允许有偏差。其求解过程要从高到低逐层优化,中不增加高层次目标的偏差值的情况下,逐次使低层次的偏差达到极小。例1按目标规划的方法可建立如下目标规划模型设备A是刚性约束,其余是柔性约束;首先,最重要的指标是企业的利润,故将其优先级列为第一级;其次,甲乙两种产品的产量保持12的比例,列为第二级;再次,设备C,B的工作时间要有所控制,列为第三级。中第三级中,设备B的重要性是设备C的3倍,因此其权重不一样,设备B前的系数是C前系数的3倍,于是得到122341211324MINST05065ZPDPDXXD1,0,1,234II三、目标规划模型的一般形式设是目标规划的决策变量,共有M个刚性约束(等,1,JXN式或不等式约束),有L个柔性目标约束,其目标规划约束的偏差为,有个Q优先级别,分别为,在同一个优先级,,JDL1,QP中有不同的权重,分别记为,则目标规划模型的一KP,,KJWL般形式为11MINST,1,,,0,QLKJKJJIJINIJIIIJZPDAXBMCDGLX刚性约束柔性约束,1,INIL注建立目标规划模型时,需要确定目标值、优先等级、权系数等,这些具有一定的主观性和模糊性,可以用专家评定法予以量化。序贯式算法是求解目标规划的一种早期算法,其核心是根据优先级的先后次序,将目标规划问题分解成一系列的单目标规划问题,然后再依次求解。HTTP//FACULTYMATHTSINGHUAEDUCN/JXIE/LINDO例1模型的求解LINGO代码附录LINGO语法(二)以料场选址问题为例建筑工地的位置用平面坐标A,B表示(距离单位KM);水泥日用量(单位T)由下表给出表工地的位置A,B及水泥日用量123456A125875055753725B125075475565775D3547611目前想设置两个临时料场,日储量各有20T,问两个料场选址在何处,分别向各工地运送多少吨水泥,能使总的吨公里数最小求解记工地的位置为AI,BI,水泥的日用量为DI,I1,,6料场位置为XI,YI,日储量为EJ,J1,2从料场J向工地I的运送量为CIJ,则该问题的数学规划模型为26221216MINST,,,2IJJIJIJIJIIJJFCXAYBDCELINGO代码MODELTITLELOCATIONPROBLEMSETSDEMAND/16/A,B,DSUPPLY/1,2/X,Y,ELINKDEMAND,SUPPLYCENDSETSDATALOCATIONSFORTHEDEMAND需求点的位置A125,875,05,575,3,725B125,075,475,5,65,775QUANTITIESOFTHEDEMANDANDSUPPLY供需量D3,5,4,7,6,11E20,20ENDDATAINITINITIALLOCATIONSFORTHESUPPLY初始点X,Y5,1,2,7ENDINITOBJECTIVEFUNCTION目标OBJMINSUMLINKI,JCI,JXJAI2YJBI21/2DEMANDCONSTRAINS需求约束FORDEMANDIDEMAND_CONSUMSUPPLYJCI,JDISUPPLYCONSTRAINS供应约束FORSUPPLYJSUPPLY_CONSUMDEMANDICI,JEJFORSUPPLYFREEXFREEYENDLINGO程序的一般结构程序是以MODEL开始,以END结束。主体通常分为5个部分1集合段;2数据段;3初始段;4计算段;5目标与约束段。一、集合段以“SET”开始,以“ENDSET”结束;用来定义必要的集合变量及元素、属性,相当于数组。SETSDEMAND/16/A,B,DSUPPLY/1,2/X,Y,ELINKDEMAND,SUPPLYCENDSETS表示集合1名称为DEMAND,元素为16,即DEMAND{1,2,3,4,5,6},该集合的属性有A,B,D“集合的属性相当于以集合的元素为下标的数组”即相当于DEMAND定义了如下数组的A1,A2,A3,A4,A5,A6B1,

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值