求解多目标线性规划的基本思想大都是将多目标问题转化为单目标规划
目前求解多目标线性规划问题有效解的方法,有理想点法、线性加权和法、最大最小法、目标规划法
- 单纯形法
单纯形法是求解线性规划问题的通用方法,其基本思想是基本思想是:先找出一个基本可行解,对它进行鉴别,看是否是最优解;若不是,则按照一定法则转换到另一改进后更优的基本可行解,再鉴别;若仍不是,则再转换,按此重复进行。因基本可行解的个数有限,故经有限次转换必能得出问题的最优解。如果问题无最优解也可用此法判别
- 使用的matlab函数 linprog(算法是单纯形法)
案例:某工厂在一个计划期内生产甲、乙两种产品,各产品都要消耗A,B,C三种不同的资源。每件产品对资源的单位消耗、各种资源的限量以及各产品的单位价格、单位利润和所造成的单位污染如下表。假定产品能全部销售出去,问每期怎样安排生产,才能使利润和产值都最大,且造成的污染最小?
解过程:问题的多目标模型如下
对于上述模型的三个目标,工厂确定利润最大为主要目标。另两个目标则通过预测预先给定的希望达到的目标值转化为约束条件。经研究,工厂认为总产值至少应达到20000个单位,而污染控制在90个单位以下,即
由主要目标法化为单目标问题
matlab计算
>> f=[-70,-120]
>> A=[-400,-600;3,2;9,4;4,5;3,10]
>> b=[-20000,90,240,200,300]
>> [x,fval]=linprog(f,A,b,[],[],[])
运算结果 x1= 12.5000, x2=26.2500