整数规划
第8章_整数规划(带答案)

1 2 3 4 5 6
1 2 3 0 10 16 10 0 24 16 24 0 28 32 12 27 17 27 20 10 21
4 28 32 12 0 15 25
5 27 17 27 15 0 14
6 20 10 21 25 14 0
18
二、背包问题(补充)
背包可装入 8 单位重量, 10 单位体积物品。若 背包中每件物品至多只能装一个,怎样才能使背包 装的物品价值最高。 物品 名称 重量 体积 价值
4
§1 整数规划的图解法
例1. 某公司拟用集装箱托运甲、乙两种货物, 这两种货物每件的体积、重量、可获利润以及 托运所受限制如表所示。
货物
甲 乙 托运限制
每件体积 (立方米) 195 273 1365
每件重量 (百千克) 4 40 140
每件利润 (百元) 2 3
甲种货物至多托运 4 件,问两种货物各托运多 少件,可使获得的利润最大。
例6.有四个工人,要分别指派他们完成四项 不同的工作,每人做各项工作所消耗的时间 如下表所示,问应如何指派工作,才能使总 的消耗时间为最少。
工作 工人 甲 乙 丙 丁 A 15 19 26 19 B 18 23 17 21 C 21 22 16 23 D 24 18 19 17
1 2 3 4 5 6
1 2 3 0 10 16 10 0 24 16 24 0 28 32 12 27 17 27 20 10 21
4 28 32 12 0 15 25
5 27 17 27 15 0 14
6 20 10 21 25 14 0
第2个地区建一个(地区1、2、6都解决了)
第4个地区建一个(地区3、4、5都解决了)
整数规划

整数规划
1.整数规划的基本概念 . 2.分枝定界法解整数规划 . 3.0-1规划 . 4. 指派问题的解法
第一节
概
述
人们探讨某些线性规划问题, 人们探讨某些线性规划问题 , 有时必须把 全部或部分决策变量限制为整数。 全部或部分决策变量限制为整数。这样的线性 整数规划。 规划问题,通常称为整数规划 规划问题,通常称为整数规划。作为线性规划 的特殊情况, 的特殊情况,整数规划也有最小化和最大化之 此外,整数规划还可以分成纯整数规划 纯整数规划和 别。此外,整数规划还可以分成纯整数规划和 混整数规划。二者的区别在于: 混整数规划。二者的区别在于:前者的决策变 量必定全部取整数 而后者的决策变量只是部 全部取整数。 量必定全部取整数。而后者的决策变量只是部 分取整数。 分取整数。
销售店 B1 B2 B3
表 2-1 - 需求量( 周 需求量(箱/周) 50 60 30
表 2-2 -
产量 制药厂 (箱/周) 箱周 A1 A2 A3 A4 50 70 20 20
运资(元 箱 运资 元/箱) B1 3 10 1 4 B2 2 5 3 5模型
设 : 制 药厂 i 每周运到销售店 j 的药品为 ij 药厂A 每周运到销售店B 的药品为x 箱(i = 1 , 2 ,3 ,4 ; j = 1 ,2 ,3 );
其中: 称为整数条件。 其中:“ xk´为整数 ” ,称为整数条件。
整数规划问题及其数学模型一律简称为整数 规划;整数规划删去整数条件之前和之后, 规划;整数规划删去整数条件之前和之后,分别 称为原整数规划 相应线性规划。 原整数规划和 称为原整数规划和相应线性规划。 按照四舍五入的规则, 按照四舍五入的规则,使相应线性规划的最 优解整数化,在通常情况下, 优解整数化,在通常情况下,不能作为原整数规 划的最优解。这可以从两个方面来说明: 划的最优解。这可以从两个方面来说明: 其一、相应线性规划的最优解化整后,已经 其一、相应线性规划的最优解化整后, 不是原整数规划的可行解, 不是原整数规划的可行解,当然也就不可能是它 的最优解。 的最优解。 其二、相应线性规划的最优解化整后,虽然 其二、相应线性规划的最优解化整后, 是原整数规划的可行解, 是原整数规划的可行解,但是有可能不是它的最 优解。 优解。
运筹学CH4整数规划

使用整数规划求解器进行求解,得到最优的员工任务指派 方案。
05
整数规划软件实现
MATLAB实现整数规划
MATLAB优化工具箱
MATLAB提供了专门的优化工具箱,其中包含用于解决整 数规划问题的函数和算法。
intlinprog函数
该函数用于解决线性整数规划问题,可以处理大规模问题, 并提供多种求解选项。
CPLEX提供了多种建模方式,包括使 用API接口、编程语言(如Python、 Java)和交互式界面等。
CPLEX采用了先进的分支定界算法和启发式 算法,能够快速有效地求解大规模整数规划 问题。同时,CPLEX还提供了多种参数设置 和求解选项,以满足不同问题的需求。
06
整数规划总结与展望
整数规划研究现状
跨学科融合
整数规划与运筹学、计算机科学、数学等多个学 科密切相关,跨学科融合将为整数规划的研究和 应用带来更多机遇。
THANK YOU
感谢聆听
求解过程
在LINGO中,用户需要编写包含目标函数和约束条件的模型文件,然后调用 LINGO求解器进行求解。LINGO会自动选择合适的算法,并输出最优解和相关 信息。
CPLEX实现整数规划
CPLEX优化器
建模方式
求解算法
CPLEX是IBM提供的一款高性能数学 优化软件,支持线性规划、混合整数 规划和二次规划等多种问题类型。
在物流领域,整数规划可用于 优化运输路线和配送计划,以 减少运输时间和成本。
金融投资
在金融领域,整数规划可用于 投资组合优化,选择最佳的投 资组合以最大化收益并降低风 险。
城市规划
在城市规划中,整数规划可用 于优化城市布局和交通网络设 计,以提高城市运行效率和居 民生活质量。
运筹学整数规划

运筹学整数规划运筹学是研究在资源有限的条件下,如何进行决策和优化的一门学科。
整数规划是运筹学中的一个重要分支,它解决的是决策变量必须为整数的问题。
整数规划在实际问题中具有广泛的应用,如生产计划、设备配置、选址问题等。
整数规划问题的数学模型可以表示为:max/min c^T xs.t. Ax ≤ bx ≥ 0x ∈ Z其中,c是目标函数的系数矩阵,x是决策变量的向量,A是约束条件的系数矩阵,b是约束条件的向量,Z表示整数集合。
整数规划问题与线性规划问题相似,但整数规划问题的约束条件多了一个整数限制,使得问题的解空间变得更为复杂。
由于整数规划问题的NP-hard性质,求解整数规划问题是一项困难的任务。
求解整数规划问题的常用方法有分支定界法、割平面法和启发式算法等。
分支定界法是一种穷举搜索的方法,它通过将整数规划问题不断分割成更小的子问题,从而逐步搜索解空间,直到找到最优解。
分支定界法对于规模较小的问题比较有效,但对于大规模复杂问题,效率较低。
割平面法是一种通过添加新的约束条件来减少解空间的方法。
它利用线性松弛问题(将整数约束条件放宽为线性约束条件)的解来构造有效的割平面,从而逐步缩小解空间,找到最优解。
割平面法通常比分支定界法更有效,但对于某些问题,可能需要添加大量的割平面才能收敛到最优解。
启发式算法是一种基于经验和启发式搜索的方法。
它通过设置初始解、搜索策略和邻域搜索等步骤,来快速找到近似最优解。
常见的启发式算法有遗传算法、模拟退火算法和禁忌搜索算法等。
启发式算法虽然不能保证找到全局最优解,但能够在可接受的时间内找到较优解。
综上所述,整数规划作为运筹学中的重要分支,解决的是决策变量必须为整数的问题。
整数规划问题具有广泛的应用,但由于其NP-hard性质,求解过程较为困难。
常用的求解方法包括分支定界法、割平面法和启发式算法等。
这些方法各有优劣,根据具体问题的特点选择合适的方法进行求解。
第四章 整数规划

√
√
27
17
结论: 结论: 最优解为x 最优解为 1=1、x2=1、x3=0,即对Ⅰ和Ⅱ两个 、 、 ,即对Ⅰ 项目投资,利润最大为27万元 万元。 项目投资,利润最大为 万元。
18
例2:用完全枚举法求解 型整数规划 :用完全枚举法求解0-1型整数规划
max f = 3x1 − 2 x2 + 5 x3 x1 + 2 x2 − x3 ≤ 2 x + 4x + x ≤ 4 2 3 1 x1 + x2 ≤ 3 4x + x ≤ 6 1 3 x1 , x2 , x3 = 0或1
① ② ③ ④
16
点
过滤条件 f≥16 × √ × √ f≥26 × √ √ f≥27 √
约束条件 ① ② ③ ④
f值 值
(0,0,0) (0,0,1) (0,1,0) (0,1,1) (1,0,0) (1,0,1) (1,1,0) (1,1,1)
√ √
√ √
√ √
√ √
16 26
√ √ ×
× √
35
min
第二步: 第二步:检验
行检验 列检验
0 * 8 11 0 * 2 3 0 11
运筹学第5章:整数规划

则问题可表示为:
max z c j x j
j 1 n
n a j x j B j 1 x1 x2 0 s.t. x3 x4 1 x x x 2 7 5 6 x j 0或1 j 1,2, , n 【例5-3】工厂A1和A2生产某种物资,由于该种物资供不应 求,故需要再建一家工厂,相应的建厂方案有A3和A4两个。这 种物资的需求地有B1、B2、B3、B4四个。各工厂年生产能力、各 地年需求量、各厂至各需求地的单位物资运费cij(j=1,2,3,4) 见表5-2。
三、割平面法的算法步骤
步骤1:将约束条件系数及右端项化为整数,用单纯形法求 解整数规划问题(ILP)的松弛问题(LP)。设得到最优基B,相应 的基最优解为X*。 步骤2:判别X*的所有分量是否全为整数?如是,则X*即为 (ILP)的最优解,算法终止;若否,则取X*中分数最大的分 量 x * ,引入割平面(5.7)。
表5-2
Ai cij A1 A2 Bj B1 2 8 B2 9 3 B3 3 5 B4 4 7 生产能力 (千吨/年) 400 600
A3
A4 需求量(千吨/年)
7
4 350
6
5 400
1
2 30025 150200200工厂A3或A4开工后,每年的生产费用估计分别为1200万元或 1500万元。现要决定应该建设工厂A3还是A4,才能使今后每年 的总费用(即全部物资运费和新工厂生产费用之和)最少。
一般来说,整数线性规划可分为以下几种类型:
1. 纯整数线性规划(Pure Integer Linear Programming): 指全部决策变量都必须取整数值的整数线性规划,也称为全整 数规划。 2. 混合整数线性规划(Mixed Integer Linear Programming):指决策变量中一部分必须取整数值,而另一部 分可以不取整数值的整数线性规划。 3. 0-1整数线性规划(Zero-one Integer Linear Programming):指决策变量只能取0或1两个值的整数线性规划。
lingo整数规划

lingo整数规划整数规划是运筹学中的一种优化方法,用于解决决策问题中存在离散决策变量的数学规划问题。
在整数规划中,决策变量的取值只能是整数。
整数规划的应用非常广泛,包括生产计划、资源分配、货物运输等领域。
下面将介绍一些与整数规划相关的术语和技巧。
1. 最优解:整数规划的目标是找到使目标函数最大或最小的整数解。
最优解指的是在满足约束条件的前提下,使目标函数的取值达到最优的决策变量取值。
2. 整数线性规划:整数线性规划是整数规划的一种特殊情况,其中目标函数和约束条件都是线性的。
3. 整数非线性规划:整数非线性规划是整数规划的另一种形式,其中目标函数或约束条件中至少有一项是非线性的。
4. 分枝定界法:分枝定界法是求解整数规划问题的一种常用方法。
它通过将整数规划问题划分为多个子问题,并对每个子问题进行求解,直到找到最优解。
5. 割平面法:割平面法是求解整数规划问题的另一种方法。
它通过加入额外的线性不等式约束,逐步削减可行解空间,直到找到最优解。
6. 整数规划松弛:整数规划松弛是指将整数规划问题中的整数约束条件松弛为连续变量的约束条件,从而将整数规划问题转化为线性规划问题。
7. 整数规划可行解:整数规划问题的可行解是指满足所有约束条件的整数取值。
8. 整数规划解的整数性:整数规划解的整数性是指整数规划问题的解是否满足整数约束条件。
9. 混合整数规划:混合整数规划是一类更一般的整数规划问题,其中决策变量可以是整数或连续变量。
10. 整数规划的应用:整数规划在各种领域中都有广泛的应用,包括生产计划、资源分配、货物运输等。
通过合理的建模和求解技巧,整数规划可以帮助企业优化决策,提高效益。
总之,整数规划是一种应用十分广泛的优化方法,通过对决策变量的整数约束进行建模,帮助解决实际问题中存在的离散决策变量的优化问题。
第4章 整数规划

整数规划
整数规划问题的提出
整数规划模型与一般的线性规划模型 的区别仅在于: 的区别仅在于:整数规划的变量要求 部分的或全部的为整数。例如: 部分的或全部的为整数。例如:
m Z = x + x2 ax 1 14 1 x +9x2 ≤ 51 −6x +3x2 ≤1 1 x , x ≥ 0且 整 为 数 1 2
(纯整数规划问题) 纯整数规划问题)
解:设xi为第i天开始上班的人数: 为第i天开始上班的人数: Min: Min:z=x1+x2+x3+x4+x5+x6+x7 s.t. x1 +x4+x5+x6+x7≥17 +x5+x6+x7≥13 x1+x2 x1+x2+x3 +x6+x7≥15 x1+x2+x3+x4+ +x7≥19 x1+x2+x3+x4+x5 ≥14 x2+x3+x4+x5+x6 ≥16 x3+x4+x5+x6+x7≥11 xi≥0 ( i=1,2,…,7) i=1,2,…,7)
例:某市6 例:某市6个区,希望设 置最少消防站以便节省 费用。条件:
必须保证在城区任何地方发 生火警时,消防车能在15 生火警时,消防车能在15分 15分 钟之内赶到现场。各区之间 消防车行驶的时间见右表。
请确定设站方案。
布点问题的数学模型: 0-1规划 布点问题的数学模型:
设0−1为决策变量,当表示i地区设站,表示i 为决策变量,当表示i地区设站,表示i 地区不设站。这样根据消防车15分钟赶到现 地区不设站。这样根据消防车15分钟赶到现 场的限制,可得到如下模型
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
得到非整数最优解
若求解某个分枝问题得到的是不满足整数 条件的最优解.还要区分两种情况: • 该最优解的目标函数值Z小于当前的下界Z,则 该分枝内不可能含有原问题的整数最优解(为 什么).因此该分枝不需要继续分枝,称之为 “枯枝”,需要剪掉. • 若该最优解的目标函数值Z大于当前的下界Z, 则仍需对该枝继续分枝,以查明该分枝内是否 有目标函数值比当前的Z更好的整数最优解.
• 某公司计划在几个地点建厂,可供选择的地点 有A1A2…Am 它们的生产能力分别是a1a2…am (为简便起见,假设生产同一种产品)第i个工 厂的建设费用为fi(i=1,2,…,m)又有n个地点 B1B2…Bn需要销售这种产品,其销量分别为b1, b2…bn。从工厂Ai运往销地Bj的单位运费为 cij(见表7.2).试决定应在哪些地方建厂,使 得既满足各地的需求,又使总建设费和总运输 费用最省?
( 2)
( 3)
Z
Z Z
( 4)
( 5) ( 6)
2
3 3
X X
( 5) ( 6)
X X
(7) (8)
(2,2) (3,1)
Z 4 (8) Z 4
(7)
X ( 2,2)
* *
X (3,1) Z 4
*
• 完全枚举法的问题是计算量太大,特别是当变 量个数很多和约束条件的个数也很多时,这个 工作是很费时的,有时甚至是不可能实现的. • n! 当n=20时,大于2×108 • 因此,如何巧妙地构造枚举过程是必须研究的 问题,目前用得较多的是将完全枚举法变成部 分枚举法. • 常用的求解整数规划的方法有分枝定界法和割 平面法,对于特别的0-l规划问题的求解,可 以采用隐枚举法和匈牙利法.
例3 机床任务分配问题
• 设有m台同一类型的机床,有n种零件要 在这些机床上加工.已知各种零件的加 工时间分别为a1,a2,· n.问如何分 · ,a 配,使各机床的总加工任务相等,或者 说尽可能均衡.
此消彼长
最大的最小,其它的会变大,整体平衡
1.2 整数规划的数学模型
• 一般地,整数规划的数学模型是
• • • •
纯整数规划 全整数规划 混合整数规划 0-1整数规划
纯整数规划
• 所有决策变量要求取非负整数(这时引 进的松弛变量和剩余变量可以不要求取 整数).
全整数规划
• 除了要求所有决策变量取非负整数外,而且系 数aij和常数项bi也都要求是整数(这时引进的 松弛变量和剩余变量也必须是整数) • 全整数规划可以推广到系数aij和常数项bi 为有 理数的情形.因为若系数aij和常数项bi为有理 数,则以aij和bi 的公分母通乘约束方程的所有 各项,就能够将系数和常数项都化为整数,而 得到全整数规划.
• 整数规划有很现实的意义,因为在很多 线性规划问题中,决策变量往往代表的 是人数、机器台数等,这时,非整数解 显然是不合要求的. • 整数规划在工业、商业、交通运输、经 济管理和军事等领域都有重要的应用.
• 求解整数规划问题是相当困难的,到目 前为止,整数规划问题还没有一个很有 效的解法. • 但是,由于在理论及应用方面提出的许 多问题都可以归结为整数规划问题,所 以对整数规划的研究在理论上和实践上 都有着重大意义.
例4
• 关于整数规划问题的可行解和最优解的 定义与线性规划类似,只是要加上满足 整数条件.一般来说,整数规划问题的 可行解是相应的线性规划问题可行域内 的整数格子点,因此整数规划的可行解 集是一个有限集(见图7.1).
• 既然整数规划的可行解是一个有限集, 我们可以将这个集合内的每一个点对应 的目标函数值都一一计算出来,然后从 中找出最大者,就是整数规划问题的最 优解.这种方法称为完全枚举法.
对每个分枝问题求解,可能得到以下几种可能: • 分枝无可行解——该分枝是“树叶”. • 求得该分枝的最优解,且满足A0的整数条 件.将该最优解的目标函数值作为新的下界Z, 该分枝也是“树叶”. • 求得该分枝的最优解,且不满足A0 的整数条件, 但其目标函数值不大于当前下界Z,则该分枝 是“枯枝”,需要剪枝. • 求得不满足A0 整数条件的该分枝的最优解,且 其目标函数值大于当前下界Z,则该分枝需要 继续进行分枝.
• 因每个分枝的求解结果不外乎上述各种情 况.因此每个分枝求解结果可表明它或是不需 要继续分枝(是“树叶”或是“枯枝”,要被 剪枝),或是需要继续分枝. • 若一对分枝都需要继续分枝时,首先将目标函 数值较优的分枝求解.而对目标函数值稍差的 那一核暂且放下,待目标函数较优的那枚全部 分解到不能(或不需要)再分,全部查清时为 止.再回过头来考虑目标函数值稍差的那枝, 也将它全部查清为止.这样做,有可能减少一 部分计算工作量.
x1 8
当所有分枝均已查明(或无可行 解——“树叶”,或为整数可行解—— “树叶”,或其目标函数值不大于下 界——―枯枝”),且此时上界=下界, 则已得到了原问题的整数最优解,即目 标函数值为下界Z的那个整数解.
• 从上述分析可看出,实际上分枝定界法 只检查了变量的所有可行的组合中的一 部分,即确定了最优解.这种思想是我 们经常会用到的.
求解整数规划的其它方法
• • • • • 动态规划 分解方法 近似算法 计算机模拟法 群论方法
§2 分枝定界法
• 60年代初,由 Land Doing和Dakin等人 提 出 • 是一个部分枚举的方法. • 优点:灵活,便于计算机求解,成为目 前求解整数规划的重要方法之一 • 用途:可用于求解纯整数规划或混合整 数规划问题.
例2
• 用分枝定界法求解整数规划(用单纯形 法计算)
• 由于第一张表不是正规单纯形表(单位 矩阵给破坏了)因此要先用初等变换将 其变为正规单纯形表(即恢复单位矩阵) 得表7.4和表7.5的第二张表,然后再 用对偶单纯形法迭代得第三张表.
IP4
4 14 4
D1
D2
D4 D3
D6
D5
x1 2
x1 3
G
D7
D8
61 / 14
分枝定界法
分枝定界法的主要思路
• 是首先求解整数规划的伴随规划,如果 求得的最优解不符合整数条件,则增加 新约束——缩小可行域;将原整数规划 问题分枝——分为两个子规划,再解子 规划的伴随规划……通过求解一系列子 规划的伴随规划及不断地定界.最后得 到原整数规划问题的整数最优解.
• 分枝定界法由“分枝”和“定界”两部 分组成 • 其基本解题思路可大致叙述如下:
• 4. 修改上、下界:修改界值按照以下两 点规则:
– 在各分枝问题中,找出目标函数值最大者作 为新的上界; – 从已符整数条件的分枝中,找出目标函数值 最大者作为新的下界.
例1
• 用分枝定界法求解整数规划问题
在一般情况下,对某个分枝问题(伴随规 划)求解时,可能出现以下几种可能: • 无可行解 • 得到整数最优解 • 得到非整数最优解
无可行解
• 若无可行解,说明该枝情况已查明,不 需要由此分枝再继续分枝,称该分枝为 “树叶”.
得到整数最优解
• 若求得整数最优解,则该分枝情况也已 查清,不需要再对此分枝继续分枝,该 分枝也是“树叶”.
• 本章只讨论整数线性规划的一些基本概 念和常用算法,还将介绍一些特殊的整 数规划问题(0-1规划、分配问题)的 解法.
• • • • •
§1 §2 §3 §4 §5
整数规划问题及其数学模型 分枝定界法 割平面法 0-1整数规划与隐枚举法 分配问题与匈牙利法
§1 整数规划问题及其数学模型
• 1.1 整数规划问题的实例 • 1.2 整数规划的数学模型 • 1.3 整数规划与线性规划的关系
§3 割平面法
• 割平面法是求解整数规划的另一个有效 的方法 • 它是由R.E Gomory提出来的. • 故又称Gomory 割平面法. • 主要用于求解纯整数规划 • 有许多种类型,但基本思想相同
解伴随规划 • 分解——分枝定界法 • 切割——割平面法 割平面方程——切割方程
此方法仍然是用线性规划的方法求解整数规划问 题,其主要解题思路叙述如下: • 对于整数规划问题(IP),首先不考虑对变量的 整数要求,求得对应松弛问题(LP)的最优 解.如果得到最优解是一个非整数解,构造一 个新的约束,对松弛问题的可行域进行切割, 在保证其整数可行解不被切割掉的情况下,重 复这个过程,逐步切割可行域,直到得到一个 整数的最优极点为止.
1.1 整数规划问题的实例
• 例1 合理下料问题 • 用某种型号的圆钢下零件A1A2…Am的毛 坯,在一根圆钢上,下料的不同方式有 B1B2…,Bn种,每种下料方式可以得到 各种零件的毛坯数以及每种零件的需要 量如表7.1所示.问应怎样安排下料方 式,使得既满足需要,又使所用的原材 料最少?
例2 选址问题
x2 4
修改下界Z • 修改下界的时机是:每求出一个整数可 行解时,都要作修改下界Z的工作. • 修改下界Z的原则:在至今所有计算出的 整数可行解中,选目标函数值最大的那 个作为最新下界. • 因此在用分枝定界法的求解全过程中, 下界Z是不断增大的·
修改上界 • 上界的修改时机是:每求解完一对分枝,都要 考虑修改上界. • 修改上界的原则是:挑选在迄今为止所有未被 分枝的问题的目标函数值中最大的一个作为新 的上界,新的上界应该小于原来的上界. • 在分枝定界法的整个求解过程中,上界的值在 不断减小.
• 若得到的是前三种情形之一,表明该分 枝情况已探明,不需要继续分枝. • 若求解一对分枝的结果表明这一对分枝 都需要继续分枝,则可先对目标函数值 大的那个分枝进行分枝计算,且沿着该 分枝一直继续进行下去,直到全部探明 情况为止.再返过来求解目标函数值较 小的那个分枝.
• 上面的求解过程是用图解法来做的,这 样做是为了便于说明分枝的几何意义, 容易理解. • 但在实际计算时,还是用单纯形法在表 格上进行.请看下面的例子.