294-8851683-用lingo实现带约束条件的聚类分析
数学建模必备知识——lingo处理实例(多目标问题)

一个简单的LINGO程序
LINGO的基本用法的几点注意事项
•LINGO中不区分大小写字母;变量和行名可以超过8个字符,但 不能超过32个字符,且必须以字母开头。 •用LINGO解优化模型时已假定所有变量非负(除非用限定变量取 值范围的函数@free或@BND另行说明)。 •变量可以放在约束条件的右端(同时数字也可放在约束条件的左 端)。但为了提高LINGO求解时的效率,应尽可能采用线性表达 式定义目标和约束(如果可能的话)。 •语句是组成LINGO模型的基本单位,每个语句都以分号结尾,编 写程序时应注意模型的可读性。例如:一行只写一个语句,按照 语句之间的嵌套关系对语句安排适当的缩进,增强层次感。 •以感叹号开始的是说明语句(说明语句也需要以分号结束))。
LINGO中定义集合及其属性
LP模型在LINGO中的一个典型输入方式
以“MODEL:”开 始
集合定义部分从 (“SETS:”到 “ENDSETS” ): 定义集合及其属性 给出优化目标 和约束 集合定义部分从 (“DATA:”到 “ENDDATA” )
以“END”结 束
目标函数的定义方式 @SUM(集合(下标):关于集合的属性的表达式) 对语句中冒号“:”后面的表达式,按照“:”前 面的集合指定的下标(元素)进行求和。 本例中目标函数也可以等价地写成
LINGO软件的基本使用方法
内容提要
1. LINGO入门 2.在LINGO中使用集合
3. 运算符和函数
4. LINGO的主要菜单命令 5. LINGO命令窗口
6.习题
1. LINGO入门 2.在LINGO中使用集合
3. 运算符和函数
1. LINGO入门 4. LINGO的主要菜单命令 5. LINGO命令窗口
Lingo的基本使用方法

用DEM,RP,OP,INV分别表示需求量、正常生产的产量、加班生 产的产量、库存量,则DEM,RP,OP,INV对每个季度都应该有一 个对应的值,也就说他们都应该是一个由4个元素组成的数组, 其中DEM是已知的,而RP,OP,INV是未知数。
2021/10/10
22
问题的模型(可以看出是LP模型 )
27
目标函数的定义方式
@SUM(集合(下标):关于集合的属性的表达式) 对语句中冒号“:”后面的表达式,按照“:”前面的集合 指定的下标(元素)进行求和。
本例中目标函数也可以等价地写成 @SUM(QUARTERS(i): 400*RP(i) +450*OP(i) +20*INV(i) ),
“@SUM”相当于求和符号“∑”, “QUARTERS(i)”相当于“iQUARTERS”的含义。 由于本例中目标函数对集合QUARTERS的所有元素(下标) 都要 求和,所以可以将下标i省去。
个值非常接近,是计算误差
引起的。如果采用全局最优 求解程序(后面介绍),可以 验证它就是全局最优解。
2021/10/10
14
运行状态窗口
Variables(变量数量): 变量总数(Total)、 非线性变量数(Nonlinear)、 整数变量数(Integer)。
Constraints(约束数量): 约束总数(Total)、 非线性约束个数(Nonlinear)。
Max98x127x72x120.3x1x22x22 1
s.t. x1x2100
2
x12x2
3
x1,x20 为整数
4
输入窗口如下:
2021/10/10
11
程序语句输入的备注:
LINGO总是根据“MAX=”或“MIN=”寻找目标函数,而除注 释语句和TITLE语句外的其他语句都是约束条件,因此语句的 顺序并不重要 。 限定变量取整数值的语句为“@GIN(X1)”和“@GIN(X2)”,不 可以写成“@GIN(2)”,否则LINGO将把这个模型看成没有整 数变量。 LINGO中函数一律需要以“@”开头,其中整型变量函数( @BIN、@GIN)和上下界限定函数(@FREE、@SUB、 @SLB)与LINDO中的命令类似。而且0/1变量函数是@BIN函 数。
lingo软件使用教程

lingo软件使用教程一般来说,一个优化模型将由以下三部分组成:1. 目标函数(Objective Function):要达到的目标。
2. 决策变量(Decision variables):每组决策变量的值代表一种方案。
在优化模型中需要确定决策变量的最优值,优化的目标就是找到决策变量的最优值使得目标函数取得最优。
3. 约束条件(Constraints):对于决策变量的一些约束,它限定决策变量可以取的值。
在写数学模型时,一般第一行是目标函数,接下来是约束条件,再接着是一些非负限制等。
在模型窗口输入如下代码:Max = 2*x1+3*x2;X1+2*x2<=8;4*x1<16;4*x2<12;注意:1.每一个lingo表达式最后要跟一个分号;2.多数电脑中没有符号,lingo中<=代替;为了方便可以用<代替小于等于,用>代替大于等于。
3.我们可以添加一些注释,增加程序的可读性。
注释以一个!(叹号必须在英文状态下输入,它会自动变为绿色)开始,以;(分号)结束。
4.Lingo中不区分变量名的大小写。
变量名必须以字母(A-Z)开头,后面的字符可以是字母、数字、下划线。
变量名不能超过32个字符。
Lingo程序的一些规则:1. 在Lingo中最开始都是“MAX=”或者“MIN=”开始表示求目标函数的最大或者最小值。
2. 变量和它前面的系数之间要用“*”连接,中间可以有空格。
3. 变量名不区分大小写,但必须以字母开始,不超过32个字符。
4. 数学表达式结束时要用分号“;”表示结束。
表达式可以写在多行上,但是表达式中间不能用分号。
5. 在电脑系统中一般没有“小于等于”符号,在Lingo采用“<=”来表示“小于等于”,用“>=”表示“大于等于”。
小于等于也可以用更简单的“<”表示,大于等于用“>”表示。
集合段:在我们已经得到的程序里有一些量没有定义,如WAREHOUSES( I),DEMAND( J), LINKS( I, J)。
LINGO使用说明

LINGO 程序设计简要说明在数学建模中会遇到如规划类的题型,在这种模型中总存在着一个目标,并希望这个目标的取值尽可能的大或小,同时与这个目标有关的一系列变量之间存在一些约束。
在构造出目标函数和约束条件的表达式后,我们需要对求出这个最值和各变量的取值。
一般我们用LINGO 来对模型进行求解,本文将通过举一个简单的例子,围绕这个例子逐步学习LINGO 的使用。
LINGO 只是一个求解工具,我们主要的任务还是模型的建立! 当你在windows 下开始运行LINGO 系统时,会得到类似下面的一个窗口:外层是主框架窗口,包含了所有菜单命令和工具条,其它所有的窗口将被包含在主窗口之下。
在主窗口内的标题为LINGO Model – LINGO1的窗口是LINGO 的默认模型窗口,建立的模型都都要在该窗口内编码实现。
示例:求解线性规划问题:max z=x1+x2+x3+x4+x5+x6+x7+x8⎪⎪⎪⎪⎪⎪⎩⎪⎪⎪⎪⎪⎪⎨⎧≤≤≤≤≤≤269 + x88 + x72 + x66 + x55 + x47 + x38 + x28 + x16 15 6 + x87 + x7+ x65 + x54 + x44 + x34 + x25 + x15444 + x86 + x77 + x68 + x58 + x45 + x32 + x27 + x14278 + x85 + x74 + x64 + x55 + x49 + x36 + x25 + x13389 + x84 + x75 + x62 + x57 + x46 + x35 + x28 + x12 154 + x83 + x79 + x66 + x55 + x45 + x34 + x27 + x1求解这个模型的相应LINGO 程序代码如下:程序一:max= x1+x2+x3+x4+x5+x6+x7+x8;x1 + 7*x2 + 4*x3 + 5*x4 + 5*x5 + 6*x6 + 9*x7 + 3*x8 + 415<=;2*x1 + 8*x2 + 5*x3 + 6*x4 + 7*x5 + 2*x6 + 5*x7 + 4*x8 + 938<=;3*x1 + 5*x2 + 6*x3 + 9*x4 + 5*x5 + 4*x6 + 4*x7 + 5*x8 + 827<=;4*x1 + 7*x2 + 2*x3 + 5*x4 + 8*x5 + 8*x6 + 7*x7 + 6*x8 + 444<=;5*x1 + 5*x2 + 4*x3 + 4*x4 + 4*x5 + 5*x6 + x7 + 7*x8 + 6 15<=;6*x1 + 8*x2 + 8*x3 + 7*x4 + 5*x5 + 6*x6 + 2*x7 + 8*x8 + 926<=;注:然后点击工具条上的按钮 即可。
TSP问题及LINGO求解技巧

TSP 问题及LINGO 求解技巧巡回旅行商问题(Traveling Salesman Problem ,TSP),也称为货郎担问题。
最早可以追溯到1759年Euler 提出的骑士旅行问题。
1948年,由美国兰德公司推动,TSP 成为近代组合优化领域的一个典型难题。
它已经被证明属于NP 难题。
用图论描述TSP ,给出一个图(,)G V E =,每边e E ∈上有非负权值()w e ,寻找G 的Hamilton 圈C ,使得C 的总权()()()W C w e e E C =∑∈最小. 几十年来,出现了很多近似优化算法。
如近邻法、贪心算法、最近插入法、最远插入法、模拟退火算法以及遗传算法。
这里我们介绍利用LINGO 软件进行求解的方法。
问题1设有一个售货员从10个城市中的某一个城市出发,去其它9个城市推销产品。
10个城市相互距离如下表。
要求每个城市到达一次仅一次后,回到原出发城市。
问他应如何选择旅行路线,使总路程最短。
我们采用线性规划的方法求解设城市之间距离用矩阵d 来表示,ij d 表示城市i 与城市j 之间的距离。
设0--1矩阵X 用来表示经过的各城市之间的路线。
设01,ij i j x i j i j ⎧=⎨⎩若城市不到城市若城市到城市且在前考虑每个城市后只有一个城市,则:11,nij j j ix =≠=∑1,,i n =… 考虑每个城市前只有一个城市,则:11,nij i i jx =≠=∑1,,j n =…; 但仅以上约束条件不能避免在一次遍历中产生多于一个互不连通回路。
为此我们引入额外变量i u (1,,i n =…),附加以下充分约束条件:1,i j ij u u nx n -+≤-1i j n <≠≤;该约束的解释:如i 与j 不会构成回路,若构成回路,有:1ij x =,1ji x =,则:1i j u u -≤-,1j i u u -≤-,从而有:02≤-,导致矛盾。
LINGO 线性规划问题的求解

实验报告课程名称:运筹学项目名称:线性规划问题的求解姓名:专业:班级:1班学号:同组成员:一、实验准备:1.线性规划(Linear programming,简称LP)是运筹学中研究较早、发展较快、应用广泛、方法较成熟的一个重要分支,它是辅助人们进行科学管理的一种数学方法。
研究线性约束条件下线性目标函数的极值问题的数学理论和方法。
英文缩写LP。
它是运筹学的一个重要分支,广泛应用于军事作战、经济分析、经营管理和工程技术等方面。
为合理地利用有限的人力、物力、财力等资源作出的最优决策,提供科学的依据。
从实际问题中建立数学模型一般有以下三个步骤;(1)根据影响所要达到目的的因素找到决策变量;(2)由决策变量和所在达到目的之间的函数关系确定目标函数;(3)由决策变量所受的限制条件确定决策变量所要满足的约束条件。
2.所建立的数学模型具有以下特点:(1)每个模型都有若干个决策变量(x1,x2,x3……,xn),其中n为决策变量个数。
决策变量的一组值表示一种方案,同时决策变量一般是非负的。
(2)目标函数是决策变量的线性函数,根据具体问题可以是最大化(max)或实际中,为保证完成100套工架,所使用原材料最省,可以混合使用各种下料方案。
设按方案A,B,C,D,E下料的原材料数分别为x1,x2,x3,x4,x5根据表可以得到下面的线性规划模型:解:虽然连续投资问题属于动态优化问题,但可以用静态优化的方法解决,用决策变量xi1,xi2,xi3,xi4(i=12…,5)分别表示第i年年初为项目A,B,C,D,的投资额,根据问题的要求各变量的对应关系如表,表中空白处表示当年不能为该项目投资,也可认为投资额为0.实验报告成绩(百分制)__________ 实验指导教师签字:__________。
运用Lingo进行线性规划求解(实例)
LINGO
支持多种线性规划算法,包括单纯形法、网络算法等。
要点二
Gurobi
主要采用高级优化算法,如分支定界法、动态规划等。
LINGO与Gurobi的比较
LINGO
支持各种类型的约束条件,包括整数约束、非线性约束 等。
Gurobi
特别擅长处理大规模、非线性问题,但对线性问题的处 理能力稍弱。
LINGO
界面简洁,建模语言直观,易于学习和掌握。
Excel
需要结合多个函数和工具进行建模,对于复杂问题操作相对繁琐。
LINGO与Excel的比较
LINGO
针对优化问题进行了优化,求解速度 较快,精度较高。
Excel
求解速度较慢,对于大规模问题可能 无法得到满意的结果。
LINGO与Gurobi的比较
LINGO软件特点
高效求解
LINGO采用先进的求解算法,能够快速求解大规 模线性规划问题。
灵活建模
LINGO支持多种建模语言,用户可以根据需要选 择合适的语言进行建模。
图形界面
LINGO提供直观的图形界面,方便用户进行模型 设计和结果查看。
LINGO软件应用领域
生产计划
LINGO可用于制定生产计划,优化资源配置, 提高生产效率。
金融投资
LINGO可以用于金融投资组合优化,帮助投 资者实现风险和收益的平衡。
物流优化
LINGO可以帮助企业优化物流配送路线,降 低运输成本。
资源分配
LINGO可用于资源分配问题,如人员、设备、 资金的分配,以达到最优效果。
2023
PART 02
线性规划基本概念
REPORTING
线性规划定义
线性规划是数学优化技术的一种,它通过将问 题抽象为数学模型,利用数学方法来寻找最优 解。
Lingo的基本使用方法
优化模型和算法的重要意义
最优化: 在一定条件下,寻求使目标最大(小)的决策
最优化是工程技术、经济管理、科学研究、社会生活中 经常遇到的问题, 如:
结构设计 资源分配
生产计划
运输方案
解决优化问题的手段
经验积累,主观判断 作试验,比优劣 建立数学模型,求解最优策略
1. 确定常数 2. 识别类型
LINGO软件的求解过程
LINGO的文件类型
.LG4:LINGO格式的模型文件,保存了模型窗口中所能够看到
的所有文本和其他对象及其格式信息;
.LNG:文本格式的模型文件,不保存模型中的格式信息(如字
体、颜色、嵌入对象等);
.LDT:LINGO数据文件;
.LTF:LINGO命令脚本文件; .LGR:LINGO报告文件; .LTX: LINDO格式的模型文件;
用DEM,RP,OP,INV分别表示需求量、正常生产的产量、加班生 产的产量、库存量,则DEM,RP,OP,INV对每个季度都应该有一 个对应的值,也就说他们都应该是一个由4个元素组成的数组, 其中DEM是已知的,而RP,OP,INV是未知数。
问题的模型(可以看出是LP模型 )
目标函数是所有费用的和
集合的基本用法和LINGO模型的基本要素
例度理(2的解ASt帆LtArI船IiNbLu需GCteOO求)建公量的模司分概语需别念言要是。最决40重定条要下,的四60是个条理季,解度75集的条合帆,(船25生S条et产),量及这。其些下属需四性求个必季须 按时满足。每个季度正常的生产能力是40条帆船,每条船的生产 费用为400美元。如果加班生产,每条船的生产费用为450美元。 每个季度末,每条船的库存费用为20美元。假定生产提前期为0, 初始库存为10条船。如何安排生产可使总费用最小?
LINGO实用教程
示例1: sets: days /MO,TU,WE,TH,FR,SA,SU/:needs,cost; endsets data: needs cost = 20 100; Enddata 示例2: sets: years/1..5/: capacity; endsets data: capacity = ,34,20,,; Enddata 属性capacity的第2个和第3个值分别为34和20, 其余的未知。
程序结构——原始集
也可以讲集成员在数据部分定义。 示例: !集部分; sets: students:sex,age; endsets !数据部分; data: students,sex,age= John 1 16 Jill 0 14 Rose 0 17 Mike 1 13; Enddata 注意:开头用感叹号(!), 末尾用分号(;)表示注释,可跨多行。
请注意:数据部分的数据之间可 以用空格隔开,也可以用逗号隔 开。程序默认的数据是从索引1 开始分配,即将“students, sex,age”的第一个数据分配完 了之后再分配其第二个数据。
再如下例: model: sets: students/John,Linda,Tom/:age,gender; Endsets Data: Age,gender=10,1,11,0,12,1; enddata End
Linda Tom 9 6 6 8
程序结构——派生集
稀疏集可以用显式表示也可以用成员资格过滤器表示。 显式表示可如下示例: Links(students,friends)/John,Harry,Linda,Green/:relationship;(1) 成员资格过滤器表示可如下示例: Links(students,friends)|&1 #eq# 1 #and# &2 #eq# 2:relationship;(2) 将分别插入程序中,并修改数据,可得到如下结果: (1)RELATIONSHIP( JOHN, HARRY) 8.000000 RELATIONSHIP( LINDA, GREEN) 6.000000 (2)RELATIONSHIP( JOHN, GREEN) 8.000000
用lingo实现带约束条件的聚类分析
求出类内个体离差的平方和Si,通常把各类Si的 总和作为目标函数,当目标函数的值不再明显
变化时结束迭代。
当需要进行聚类分析时,通常可以采用具有 聚类分析功能的软件来实现,例如统计分析软 件SPSS具有强大的聚类分析功能,能够实现快 速聚类分析和层次聚类分析,对聚类方法和距 离的计算方法提供多种选项给用户选择,可以 满足大多数用户的需要。但是,当研究人员所 面临的课题有额外的附加约束条件时,SPSS就 无能为力了,此时只能采取编程计算的办法, 例如用Matlab或C语言来编程实现,这需要用户 既熟悉聚类分析的算法原理和步骤,又要有较 强的Matlab或C语言编程能力及功底,对一般研 究人员,不一定人人都能够做到,能否找到其 他解决办法?
试把这16个支局分成3组,组内各支局之间的 相互距离尽可能近,且每组内寄达各支局以及 从各支局收寄的邮件总数都不超过65袋。
这是带约束条件的聚类分析的具体应用,实 质是在满足约束条件的前提下,将16个支局聚 成3类,使类内各支局相互之间的距离最短。
2.1 建立0-1规划模型
用i=1,2,…,16表示16个支局,k=1,2,3表示3个
用LINGO实现 带约束条件的聚类分析
徐州空军学院 袁新生 刘信斌
摘要
在研究应用课题时可能会遇到带约束条件的 聚类分析。用SPSS等软件能够方便地进行聚类 分析,但是无法附加其他约束条件,只能考虑用 编程方法来实现。先将此类问题转化为0-1规划 模型,然后用优化软件LINGO进行求解,并且 以一个带约束条件的网络节点分组问题为实例, 编写了LINGO程序,求出了最优结果。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
2 用LINGO实现带约束条件的聚类分析
LINGO是求解最优化问题的专业软件,它在求 解各种大型线性、非线性和整数规划方面具有明 显的优势[1]。动态聚类分析算法的实质是迭代优化 过程,有明确的目标函数,当实际问题有附加的 约束条件时,可以把此类问题看成是规划问题。 求 解 规 划 问 题 是 LINGO 的 强 项 , 因 而 可 以 用 LINGO来实现带约束条件的聚类分析。
(1) 每个支局必须分到某一组,且只能分到一 组。 第k组内两两支局之间最短路经的总和为
L C X k i j i k X jk
i 1 j i 1 51 6
(3) 各组寄达和收寄的邮件总量都不超过65袋。
组内支局数量为
m k X ik 组内平均距离为Lk /m k
i 1 16
2.2 用LINGO求解模型
优化分组的目标是使
3
k 1
Lk mk
达到最小。
综上所述,建立该问题的0-1规划模型如下:
min
3
k 1
Lk m k
3 X ik 1 , i 1 , 2 , , 16 k 1 16 m k X ik , k 1 , 2 , 3 i1 16 P i X ik 65 , k 1 , 2 , 3 i1 16 Q i X ik 65 , k 1 , 2 , 3 i1 15 16 L k C ij X ik X jk , k 1 , 2 , 3 i1 j i X 0 或 1 ik
最 常 用 也 是 最 知 名 的 动 态 聚 类 方 法 有 Kmeans(K-均值)算法和K-medoids(K-中心点)算法, 这两种算法以事先确定的分类数目 k为参数,按 照某种初始点选取原则选定 k个初始聚点(聚点 是一组具有代表性的点,是形成类的中心)。 然后将其他个体归类于距离最近的聚点,重新 计算每个类的平均值, K- 均值算法以这些均值 作为新的聚点, K- 中心点算法以最靠近均值的 样本点作为新的聚点,对样本进行重新分类。 求出类内个体离差的平方和 Si,通常把各类 Si的 总和作为目标函数,当目标函数的值不再明显 变化时结束迭代。
寄达各支局以及各支局收寄的邮件袋数
支局 Z1 Z2 Z3 Z4 Z5 Z6 Z7 Z8
寄达
收寄 支局 寄达
10
9 Z9 13
15
14 Z10 17
6
5 Z11 11
9
10 Z12 2
13
9 Z13 11
6
10 Z14 21
11
13 Z15 13
4
9 Z16 14
收寄
15967来自131510
16
试把这16个支局分成3组,组内各支局之间的 相互距离尽可能近,且每组内寄达各支局以及 从各支局收寄的邮件总数都不超过65袋。
当需要进行聚类分析时,通常可以采用具有 聚类分析功能的软件来实现,例如统计分析软 件 SPSS 具有强大的聚类分析功能,能够实现快 速聚类分析和层次聚类分析,对聚类方法和距 离的计算方法提供多种选项给用户选择,可以 满足大多数用户的需要。但是,当研究人员所 面临的课题有额外的附加约束条件时, SPSS 就 无能为力了,此时只能采取编程计算的办法, 例如用Matlab或C语言来编程实现,这需要用户 既熟悉聚类分析的算法原理和步骤,又要有较 强的Matlab或C语言编程能力及功底,对一般研 究人员,不一定人人都能够做到,能否找到其 他解决办法?
聚类分析的方法主要有层次聚类法和快速聚 类法。层次聚类分析法又称系统聚类法,是目 前使用最多的一种聚类方法,它使具有共同特 点的样本(或变量)聚集在一起,根据观测值 或变量之间的亲疏程度,将最相似的对象结合 在一起,以逐次聚合(或分解)的方式将观测 值或变量分类。 快速聚类法也称划分法,又称动态聚类法。 该方法需要事先确定分类的数目k,然后将样本 空间(即所有对象)划分为k分,每个划分代表 一个类,所形成的分类状态使得一个客观标准 达到最优,实际上是逐步迭代寻优过程。
1 问题的提出
聚类分析通过分析数据,根据它们之间的相 似程度,合理地划分数据集合,使同一类别内 的个体差别尽量小,而不同类别上的个体差别 尽量大。聚类分析是寻求数据(样本)的自然 聚集结构的重要方法,经常被作为其他研究任 务的前奏和准备工作,在利用聚类分析将整个 数据集合分成不同的子集之后,其他研究就更 容易在聚类结果的基础上深入进行下去。
在一些与图论和网络优化相关的应用课题中, 常常需要对网络节点作聚类分析,下面通过一个 实例介绍如何用 LINGO 实现带约束条件的网络节 点聚类分析。 某县邮政局管辖 16 个支局,已知县局到各支局 的距离和 16 个支局之间的距离矩阵(限于篇幅, 省略具体数据,详见文献[2])。寄达各支局以及各 支局收寄的邮件数量(单位:袋)为:
用LINGO实现 带约束条件的聚类分析
徐州空军学院 袁新生 刘信斌
摘
要
在研究应用课题时可能会遇到带约束条件的 聚类分析。用 SPSS 等软件能够方便地进行聚类 分析,但是无法附加其他约束条件,只能考虑用 编程方法来实现。先将此类问题转化为 0-1 规划 模型,然后用优化软件 LINGO 进行求解,并且 以一个带约束条件的网络节点分组问题为实例, 编写了LINGO程序,求出了最优结果。
这是带约束条件的聚类分析的具体应用,实 质是在满足约束条件的前提下,将 16 个支局聚 成3类,使类内各支局相互之间的距离最短。
2.1 建立0-1规划模型
用i=1,2,…,16表示16个支局,k=1,2,3表示3个 组, Pi 表示寄达支局 Zi 的邮件量, Qi 表示从支 局Zi收寄的邮件量,引入0-1型决策变量Xik表示 支局 i 是否分在第 k 组, Xik=1 表示支局 i分在第 k 组,Xik=0表示否。每两个支局之间均存在最短 路(有些支局之间没有直接通路,但存在经过 其它支局的间接路径),用Cij表示支局i与支局 j之间的最短路。约束条件如下: