目标规划模型的实例 您所在的位置:网站首页 产品生产决策例题解析怎么写 目标规划模型的实例

目标规划模型的实例

2024-06-30 01:25| 来源: 网络整理| 查看: 265

目标规划模型的介绍:

目标规划模型:求解思路、序贯式算法 : https://blog.csdn.net/qq_29831163/article/details/89488932

前面介绍了目标规划的求解方法,这里再介绍几个目标规划模型的模型,帮助我 们进一步了解目标规划模型的建立和求解过程。

目录

例 6 三种型号电脑的生产计划安排问题                      例7  运费最小的调配方案

例8 根据某产品在各地的供需量安排调运方案

 数据包络分析 

 2.1  数据包络分析的基本概念

(1)相对有效评价问题                例9  多指标评价问题

(2)数据包络分析的 C^{2}R 模型               Charnes-Cooper变换 :将模型变为线性规划问题

  什么是 DEA有效?

(3) C^{2}R模型的求解                目标规划模型习题

例 6 三种型号电脑的生产计划安排问题

解  建立目标约束。

(1)装配线正常生产 

(2)销售目标 

(3)加班限制 

写出目标规划的数学模型 

写出相应的LINGO程序如下: 

model: sets: level/1..5/:p,z,goal; variable/1..3/:x; s_con_num/1..8/:g,dplus,dminus; s_con(s_con_num,variable):c; obj(level,s_con_num)/1 1,2 2,2 3,2 4,3 8,4 5,4 6,4 7,5 1/:wplus,wminus; endsets data: ctr=?; goal=? ? ? ? 0; g=1700 50 50 80 100 120 100 1900; c=5 8 12 1 0 0 0 1 0 0 0 1 1 0 0 0 1 0 0 0 1 5 8 12; wplus=0 0 0 0 1 0 0 0 1; wminus=1 20 18 21 0 20 18 21 0; enddata min=@sum(level:p*z); p(ctr)=1; @for(level(i)|i#ne#ctr:p(i)=0); @for(level(i):z(i)=@sum(obj(i,j):wplus(i,j)*dplus(j)+wminus(i,j)* dminus(j))); @for(s_con_num(i):@sum(variable(j):c(i,j)*x(j))+dminus(i)-dplus(i)=g(i)); @for(level(i)|i #lt# @size(level):@bnd(0,z(i),goal)); End

例7  运费最小的调配方案

已知三个工厂生产的产品供应给四个客户,各工厂生产量、用户需求量及从 各工厂到用户的单位产品的运输费用如下表所示,其中总生产量小于总需求量。 

(1)求总运费最小的运输问题的调度方案。

(2)上级部门经研究后,制定了调配方案的8项指标,并规定了重要性的次序。

第一目标:用户4为重要部门,需求量必须全部满足;

第二目标:供应用户1的产品中,工厂3的产品不少于100个单位;

第三目标:每个用户的满足率不低于80%;

第四目标:应尽量满足各用户的需求;

第五目标:新方案的总运费不超过原运输问题的调度方案的10%;

第六目标:因道路限制,工厂2到用户4的路线应尽量避免运输任务;

第七目标:用户1和用户3的满足率应尽量保持平衡;

第八目标:力求减少总运费。

请列出相应的目标规划模型,并用LINGO程序求解。

解  (1)求解原运输问题 由于总生产量小于总需求量,虚设工厂4,生产量为100个单位,到各个用户间的运 费单价为0。用LINGO软件求解,得到总运费是2950元,运输方案如下表所示。 

(2)下面按照目标的重要性的等级列出目标规划的约束和目标函数。 

编写LINGO程序如下: 

model: sets: level/1..8/:p,z,goal; s_con_num/1..13/:g,dplus,dminus; plant/1..3/:a; customer/1..4/:b; routes(plant,customer):c,x; obj(level,s_con_num)/1 9,2 1,3 2,3 3,3 4,3 5,4 6,4 7,4 8,4 9,5 10,6 11,7 12,8 13/:wplus,wminus; endsets data: ctr=?; goal=? ? ? ? ? ? ? 0; a=300 200 400; b=200 100 450 250; c=5 2 6 7 3 5 4 6 4 5 2 3; wplus=0 0 0 0 0 0 0 0 0 0 1 1 1 1; wminus=1 1 1 1 1 1 1 1 1 1 0 0 1 0; enddata min=@sum(level:p*z); p(ctr)=1; @for(level(i)|i#ne#ctr:p(i)=0); @for(level(i):z(i)=@sum(obj(i,j):wplus(i,j)*dplus(j)+wminus(i,j)* dminus(j))); @for(plant(i):@sum(customer(j):x(i,j))


【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有