数学建模必备LINGO在多目标规划和最大最小化模型中的应用Word格式.doc

上传人:b****2 文档编号:14333981 上传时间:2022-10-22 格式:DOC 页数:14 大小:228KB
下载 相关 举报
数学建模必备LINGO在多目标规划和最大最小化模型中的应用Word格式.doc_第1页
第1页 / 共14页
数学建模必备LINGO在多目标规划和最大最小化模型中的应用Word格式.doc_第2页
第2页 / 共14页
数学建模必备LINGO在多目标规划和最大最小化模型中的应用Word格式.doc_第3页
第3页 / 共14页
数学建模必备LINGO在多目标规划和最大最小化模型中的应用Word格式.doc_第4页
第4页 / 共14页
数学建模必备LINGO在多目标规划和最大最小化模型中的应用Word格式.doc_第5页
第5页 / 共14页
点击查看更多>>
下载资源
资源描述

数学建模必备LINGO在多目标规划和最大最小化模型中的应用Word格式.doc

《数学建模必备LINGO在多目标规划和最大最小化模型中的应用Word格式.doc》由会员分享,可在线阅读,更多相关《数学建模必备LINGO在多目标规划和最大最小化模型中的应用Word格式.doc(14页珍藏版)》请在冰豆网上搜索。

数学建模必备LINGO在多目标规划和最大最小化模型中的应用Word格式.doc

例如,线性加权求和法确定权重系数时有一定主观性,权重系数取值不同,结果也就不一样。

线性加权求和法、指数加权乘积法和理想点法通常只能用于两个目标的单位(量纲)相同的情况,如果两个目标是不同的物理量,它们的量纲不相同,数量级相差很大,则将它们相加或比较是不合适的。

二、最大最小化模型

在一些实际问题中,决策者所期望的目标是使若干目标函数中最大的一个达到最小(或多个目标函数中最小的一个达到最大)。

例如,城市规划中需确定急救中心的位置,希望该中心到服务区域内所有居民点的距离中的最大值达到最小,称为最大最小化模型,这种确定目标函数的准则称为最大最小化原则,在控制论,逼近论和决策论中也有使用。

最大最小化模型的目标函数可写成

式中是决策变量。

模型的约束条件可以包含线性、非线性的等式和不等式约束。

这一模型的求解可视具体情况采用适当的方法。

三、用LINGO求解多目标规划和最大最小化模型

1.解多目标规划

用LINGO求解多目标规划的基本方法是先确定一个目标函数,求出它的最优解,然后把此最优值作为约束条件,求其他目标函数的最优解。

如果将所有目标函数都改成约束条件,则此时的优化问题退化为一个含等式和不等式的方程组。

LINGO能够求解像这样没有目标函数只有约束条件的混合组的可行解。

有些组合优化问题和网络优化问题,因为变量多,需要很长运算时间才能算出结果,如果设定一个期望的目标值,把目标函数改成约束条件,则几分钟就能得到一个可行解,多试几个目标值,很快就能找到最优解。

对于多目标规划,同样可以把多个目标中的一部分乃至全部改成约束条件,取适当的限制值,然后用LINGO求解,从中找出理想的最优解,这样处理的最大优势是求解速度快,节省时间。

2.解最大最小化问题

第一步,先把原来较复杂的目标函数式改写为一个简单的目标函数

以及个约束条件:

其他原有的约束条件不变,改写后仍然是一个规划,只是增加了个约束条件,目标函数的形式较为简单。

如果能用LINGO求出它的解,则问题已经解决,如果求解困难,可转入下一步。

第二步,取消目标函数,保留上一步由目标函数改成的个约束条件和所有原来的约束条件,预设值为某个常数,此时原规划模型不再是规划,它仅仅包含等式和不等式,没有目标函数,是许多约束条件的组合,可以称它为“混合组”。

求该混合组的解,其实质是求满足所有约束条件并且使目标函数等于给定值的一组决策变量的值,求出来的结果是可行解,它未必是最优解。

在存在可行解的前提下,使目标函数值小的可行解优于使目标函数值大的可行解,使目标函数值越小的可行解越接近最优解。

第三步,对具体问题作出分析,对目标函数可能达到的最小值(即C的最小值)作适当估计,然后在此估计值的基础上由大到小改变C的值进行试算,使可行解越来越接近最优解。

对于目标函数值离散的情况,不难找到最优解。

例:

装配线平衡模型。

一条装配线含有一系列的工作站,在最终产品的加工过程中每个工作站执行一种或几种特定的任务。

装配线周期是指所有工作站完成分配给它们各自的任务所化费时间中的最大值。

平衡装配线的目标是为每个工作站分配加工任务,尽可能使每个工作站执行相同数量的任务,其最终标准是装配线周期最短。

不适当的平衡装配线将会产生瓶颈——有较少任务的工作站将被迫等待其前面分配了较多任务的工作站。

问题会因为众多任务间存在优先关系而变得更复杂,任务的分配必须服从这种优先关系。

这个模型的目标是最小化装配线周期。

有2类约束:

①要保证每件任务只能也必须分配至一个工作站来加工;

②要保证满足任务间的所有优先关系。

例有11件任务(A—K)分配到4个工作站(1—4),任务的优先次序如下图。

每件任务所花费的时间如下表。

(A)

(B)

(C)

(F)

(G)

(K)

(J)

(I)

(H)

(E)

(D)

任务

A

B

C

D

E

F

G

H

I

J

K

时间

45

11

9

50

15

12

8

解:

用变量表示任务分配给工作站的情况,表示分配,表示不分配,表示完成各项任务所需时间,则目标函数为

约束条件

(1):

每项任务只能且必须分配至一个工作站来做,可以表示为:

约束条件

(2):

各项任务间如果有优先关系,则排在前面的任务对应的工作站(序号)应当小于(或等于)排在后面的任务所对应的工作站(序号),即对所有有顺序的任务:

约束条件(3):

这是一个非线性规划(目标函数非线性),但可以化为线性规划,增加一个变量,再增加四个约束条件:

,目标函数变为。

LINGO程序为:

model:

!

装配线平衡模型;

sets:

任务集合,有一个完成时间属性t;

task/ABCDEFGHIJK/:

t;

任务之间的优先关系集合(A必须完成才能开始B,等等);

pred(task,task)/A,BB,CC,FC,GF,JG,J

J,KD,EE,HE,IH,JI,J/;

工作站集合;

station/1..4/;

tsx(task,station):

x;

x是派生集合txs的一个属性。

如果x(i,k)=1,则表示第i个任务

指派给第k个工作站完成;

endsets

data:

任务ABCDEFGHIJK的完成时间估计如下;

T=4511950151212121289;

enddata

当任务超过15个时,模型的求解将变得很慢;

每一个作业必须指派到一个工作站,即满足约束①;

@for(task(i):

@sum(station(k):

x(i,k))=1);

对于每一个存在优先关系的作业对来说,前者对应的工作站i必须小于后

者对应的工作站j,即满足约束②;

@for(pred(i,j):

k*x(j,k)-k*x(i,k))>

=0);

对于每一个工作站来说,其花费时间必须不大于装配线周期;

@for(station(k):

@sum(txs(i,k):

t(i)*x(i,k))<

=cyctime);

目标函数是最小化转配线周期;

min=cyctime;

指定x(i,j)为0/1变量;

@for(txs:

@bin(x));

end

计算的部分结果为

Globaloptimalsolutionfoundatiteration:

1255

Objectivevalue:

50.00000

VariableValueReducedCost

CYCTIME50.000000.000000

X(A,1)1.0000000.000000

X(A,2)0.0000000.000000

X(A,3)0.00000045.00000

X(A,4)0.0000000.000000

X(B,1)0.0000000.000000

X(B,2)0.0000000.000000

X(B,3)1.00000011.00000

X(B,4)0.0000000.000000

X(C,1)0.0000000.000000

X(C,2)0.0000000.000000

X(C,3)0.0000009.000000

X(C,4)1.0000000.000000

X(D,1)0.0000000.000000

X(D,2)1.0000000.000000

X(D,3)0.00000050.00000

X(D,4)0.0000000.000000

X(E,1)0.0000000.000000

X(E,2)0.0000000.000000

X(E,3)1.00000015.00000

X(E,4)0.0000000.000000

X(F,1)0.0000000.000000

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 高中教育 > 英语

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1