本章研究数学规划模型,其中包括:线性规划、整数规划、非线性规划、多目标规划与动态规划等内容.
线性规划是运筹学的一个重要分支,随着计算机技术的发展,线性规划不仅在理论上已趋向成熟,而且在实际应用中也日益广泛与深入.本节将借助lingo数学软件对线性规划模型进行求解.
在生产管理和经营活动中经常提出一类问题,即如何合理地利用有限的人力、物力、财力等资源,以便得到最好的经济效果.
引例1 普通生产计划安排问题。
某工厂在计划期内要安排生产ⅰ、ⅱ两种产品,已知生产单位产品所需的设备台时及、两种原材料的消耗,如表4-1所示.该工厂每生产一件产品ⅰ可获利2元,每生产一件产品ⅱ可获利3元,问应该如何安排计划使该工厂获利最多?
表4.1普通生产计划安排问题。
引例2 奶制品的生产计划问题。
一奶品加工厂用牛奶生产、两种奶制品,1桶牛奶可以在甲类设备上用12小时加工成3公斤,或者在乙类设备上用8小时加工成4公斤,根据市场需求,生产的、全部能售出,且每公斤获利24元,每公斤获利16元.现在加工厂每天能得到50桶牛奶的**,每天正式工人总的劳动时间为480小时,并且甲类设备每天最多能加工100公斤,乙类设备的加工能力没有限制.试为该厂制定一个生产计划,使每天获利最大,并进一步讨论以下3个附加问题:
若用35元可以买到1桶牛奶,应否做这项投资?若投资,每天最多购买多少桶牛奶?
若可以聘用临时工人以增加劳动时间,付给临时工人的工资最多是每小时几元?
由于市场需求变化,每公斤的获利增加到30元,应否改变生产计划?
1.引例1普通生产计划安排问题的模型建立。
对于引例1,可以设、分别表示在计划期内产品ⅰ、ⅱ的产量.若用表示利润,这时,.因为设备的有效台时为8,因此应有限制条件:;同理考虑原材料的不同限制,可得如下限制条件:,.综上所述,该计划问题可用数学模型表示为:
目标函数:
约束条件:
2.引例2奶制品生产计划问题的模型建立。
对于引例2,可以设每天用桶牛奶生产,用桶牛奶生产.类似引例1可得奶制品生产计划问题的数学模型:
目标函数:
约束条件:
从以上两例可以看出,他们都属于同一类优化问题,他们的共同特征:
每一个问题都用一组决策变量表示某一方案;这组决策变量的值就代表一个具体方案,一般这些变量取值都是非负的;
存在一定的约束条件,这些约束条件可以用一组线性等式或线性不等式来表示;
都有一个要求达到的目标,它可用决策变量的线性函数来表示,这个函数称为目标函数.
满足以上三个条件的数学模型称为线性规划数学模型.其一般形式为:
目标函数:
约束条件:
1.引例1普通生产计划安排问题的模型求解。
使用lingo数学软件对引例1进行求解,编写程序如下:
max=2*x+3*y;
x+2*y<8;
4*x<16;
4*y<12;
end求解结果为:目标函数的最大值,即可获得最大利润14元;最优生产计划方案是:生产产品ⅰ4件,生产产品ⅱ2件.
2.引例2奶制品生产计划问题的模型求解。
使用lingo数学软件对引例2进行求解,编写程序如下:
max=72*x1+64*x2;
x1+x2<50;
12*x1+8*x2<480;
3*x1<100;
end求解结果为:每天用20桶牛奶生产,用30桶牛奶生产,最大利润是3360元.下面来回答三个附加问题:
⑴针对附加问题1,可假设应投资购买桶牛奶,目标函数应修改为:
关于牛奶的约束条件也应作相应的修改:
通过编程求解得:最大利润增加到3490元,因此,应作该项投资,每天最多购买10桶牛奶.
针对附加问题2,首先将劳动时间480小时增加1个小时,对原问题进行求解,可得最大利润由3360元增加到3362元,其中增加的2元就是劳动时间的影子**.因此,若可以聘用临时工人以增加劳动时间,付给临时工人的工资最多是每小时2元.其次,若还想知道以低于每小时2元的**增加劳动时间,最多可购买多少劳动时间?可以对目标函数以及关于劳动时间的约束条件作类似的修改,然后进行求解.例如,若以每小时1.5元的**聘用临时工人,最多可购买53.
333小时.
针对附加问题3,只需改变目标函数中的系数即可.将原来的目标函数改为:,约束条件不变.通过求解可得:最大利润有所增加,由原来的3360元增加到3720元,但生产计划没有改变,仍然是每天用20桶牛奶生产,用30桶牛奶生产.
例1一个家庭有625英亩的土地可以用来种植农作物,这个家庭考虑种植的农作物有玉米、小麦和燕麦,预计可以有1000英亩-英尺的灌溉用水,农场工人每周可以投入的工作时间为300小时,其他的数据在表4-2中给出,为能够获得最大收益,每种作物应该种植多少?
表4.2农场问题的有关数据。
解设应种植玉米英亩,小麦英亩和燕麦英亩.可得如下线性规划模型:
目标函数:
约束条件:
使用lingo数学软件进行求解,编写程序如下:
max=400*x1+200*x2+250*x3;
x1+x2+x3<625;
0.8*x1+0.2*x2+0.3*x3<300;
3*x1+x2+1.5*x3<1000;
end程序运行结果为:应分别种植玉米187.5英亩,小麦437.5英亩和燕麦0英亩,获最大收益162500美元.
例2 某市有甲、乙、丙、丁四个居民区,自来水由、、三个水库**.四个区每天必须得到保证的基本生活用水量分别为30,70,10,10千吨,但由于水源紧张,三个水库每天最多只能**50,60,50千吨自来水.由于地理位置的差别,自来水公式从各水库向各地区送水所需付出的引水管理费不同(见表4-3,其中水库与丁地区之间没有输水管道),其它管理费用都是450元/千吨.根据公司规定,各区用户按照统一标准900元/千吨收费.此外,四个区都向公司申请了额外用水量,分别为每天50,70,20,40千吨.该公司应如何分配供水量,才能获利最多?
为了增加供水量,自来水公司正在考虑进行水库改造,使三个水库每天的最大供水量都提高一倍,问那时供水方案应如何改变?公司利润可增加多少?
表4.3引水管理费。
解决策变量应为、、三个水库分别向甲、乙、丙、丁四个区的供水量.设水库向区的日供水量为千吨,由于水库与丁区之间没有输水管道,即,因此只有11个决策变量.于是可得如下线性规划模型:
目标函数:
约束条件:水库**量限制可以表示为:
各区基本用水量与额外用水量限制为:
使用lingo数学软件进行求解,编写程序如下:
max=(450-160)*x11+(450-130)*x12+(450-220)*x13+(450-170)*x14
(450-140)*x21+(450-130)*x22+(450-190)*x23+(450-150)*x24
(450-190)*x31+(450-200)*x32+(450-230)*x33;
x11+x12+x13+x14<50;
x21+x22+x23+x24<60;
x31+x32+x33<50;
x11+x21+x31<80;
x11+x21+x31>30;
x12+x22+x32<140;
x12+x22+x32>70;
x13+x23+x33<30;
x13+x23+x33>10;
x14+x24<50;
x14+x24>10;
end程序运行结果为:水库向乙区供水50千吨;水库向乙、丁区分别供水50,10千吨;水库向甲、丙分别供水40,10千吨.最大利润为47600元.
对于本例来说,无论是目标函数还是约束条件都显得比较麻烦,特别是目标函数为多项相加.随着水库与居民区个数的增加,程序会更加复杂.下面来研究更一般的编程方法.
为此,需假定水库向丁地区的引入管理费用为无穷大,本例可用1000元/千吨来代替.
使用lingo数学软件中的高级编程技巧进行求解,编写程序如下:
model:
sets:sk/1..3/:g;
dq/1..4/:sl1,sl2;
link(sk,dq):c,x;
endsets
data:c=160 130 220 170
g=50 60 50;
sl1=30 70 10 10;
sl2=80 140 30 50;
enddata
obj] max=@sum(link(i,j):x(i,j)*(450-c(i,j)))
for(sk(i):@sum(dq(j):x(i,j))@for(dq(j):@sum(sk(i):x(i,j))>sl1(j));
for(dq(j):@sum(sk(i):x(i,j))end
程序运行结果完全相同.如果三个水库每天的最大供水量都提高一倍,只需将数据段中的供水量修改成:g=100 120 100;或者对第一个约束条件作简单修改,在小于号后面将供水量扩大2倍,其它条件不变.最后的运行结果为:水库向乙区供水100千吨;水库向甲、乙、丁区分别供水30,40,50千吨;水库向甲、丙分别供水50,30千吨.总利润为88700元.
评注:本例考虑的是将某种物资从若干**点运往一些需求点,在供需量约束条件下使总费用最少,或总利润最大.这类问题一般称为运输问题.
注意:本例目标函数采用的是最大利润,而非最小成本.一般来说,成本最小,未必利润最大.当总收入是常数时,最小成本与最大利润是等价的;若总收入随决策变量的改变而变化时,最小成本与最大利润并不等价.通常追求的目标应该是最大利润,而非最小成本.
在工程技术、经济管理、交通运输和日常生活等诸多领域中,很多实际问题可以归结为线性规划问题,其目标函数和约束条件都是自变量(决策变量)的一次函数(线性函数).但是,还有另外一些问题,其目标函数和(或)约束条件很难用线性函数表达.如果目标函数或约束条件中包含有非线性函数,就称这种规划问题为非线性规划问题.由于计算机技术的快速发展,使非线性规划的理论及其应用在近几十年来得以长驱进展.特别是lingo数学软件的开发与应用,对非线性规划模型的求解提供了很大的帮助.
数学建模第四章
第四章 存贮模型。4.1不允许缺货的确定性贮存模型。工厂要定期地订购各种原料,存放在仓库里供生产之用。商店要成批地购进各种商品,放在货柜中以备零售。水库在雨季蓄水,用于旱季的灌溉和航运。不论是原料 商品,还是水的贮存,都有一个贮存多少的问题。原料 商品存得太多,贮存费用 比方仓库租赁费 资金占用须支...
第四章数学建模作业
严婉琳20110008015 邓南广 20110008005 11创新班 3,分析 设为t时刻的酵母菌数,且是连续函数并且可导或分段可导,设时刻酵母菌的增长率满足。是酵母菌固有增长率,称为酵母菌最大容量。得到阻滞增长模型 用分离变量法 1 式满足条件解为。由书本例题可知,散点图呈s型,故模型可简化为...
章绍辉数学建模第四章
第四章。符号说明 酒精量是指纯酒精的质量,单位是毫克 酒精含量是指纯酒精的浓度,单位是毫克 百毫升 t 时刻 小时 x1 t 在时刻t吸收室 肠胃 内的酒精量 毫克 d0 在段时间内喝下2瓶啤酒后吸收室内的酒精量 毫克 c1 t 在时刻t吸收室 肠胃 的酒精含量 毫克 百毫升 c2 t 在时刻t中心...