用“小范围搜索法”求“线性规划问题”的最优整数解
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
用“小范围搜索法”求“线性规划问题”的最优整数解
笔者对教科书中的全部7个线性规划的实际应用问题进行了研究和分类。其中1个问题(教科书第61页例3)的最优解不是整数解,最优解有且只有一个,最优解显然在边界折线的顶点处,此为第一类问题;有3个问题(教科书第64页练习第2题、第65页习题第3题,第66页研究课题与实习作业)的最优解为整数解,最优整数解有且只有一个,最优解整点显然在边界折线的顶点处,此为第二类问题;另有3个问题(教科书第63页例4、第65页习题第4题、第87页复习参考题七A组第16题)的最优解为整数解,最优整数解可能不止一个,最优解整点不在边界折线的顶点处,或虽在边界折线的顶点处但并不显然,此为第三类问题。第一、第二类问题的最优解可以通过解一个二元一次方程组直接得到,学生比较容易掌握。第三类问题的最优解不能通过解一个二元一次方程组直接得到,必须通过观察图形或计算检验去寻找,学生不容易掌握,学习困难比较大。
为了解决这类寻找最优整数解的困难,笔者采用“小范围搜索法”进行教学。该方法的优点在于,把在大范围同寻找最优整数解转化为在小范围内寻找最优整数解,而且在通过观察图形作出准确判断有困难的情况下,通过计算检验作出准确判断的工作量比较小。其步骤为(1)在边界折线顶点附近的小范围内搜索一个可行域内的年整点;(2)过该点作一条斜率为-(其中A,B分别为目标函数中变量x,y的系数)的直线,与可行域边界折线相交得到一个小范围的区域;(3)在这个小范围区域内继续搜索全部最优整数解。
用“小范围搜索法”成功解题的关键是分析,要把分析贯彻于解题的全过程,观察图形要分析,计算检验也要分析,通过分析充分发掘线性约束条件和线性目标函数的特殊性,使搜索范围缩到最小,计算的工作量减到最小。下面以教科书中的题目为例,说明“小范围搜索法”的运用。
例1教科书第65页习题题,题目略。
本题的线性约束条件
线性目标函数z=200x+150y,其中x,y分别为大房间与小房间的间数。作出可行域如图1。
(1)搜索一个可行域内邻近边界折线顶点的整点。
解方程组
得到点A(,),由于点A的坐标不是整数,故不是最优解。由于要使目标函数取最大值,因此要寻找可行域右上侧靠近边界或边界上的整点。与点A邻近的整点共有4个(2,8),(2,9),(3,8)与(3,9),显然点(2,8)是可行域内的整点,点(3,9)不是可行域内的整点。记点(a,b)处的目标函数的值为z(2,8),所以还应检验点(2,9)与(3,8)是否在可行域内。注意到目标函数z=200x+150y=150(x+y)+50x,而2+9=3+8,所以必有z (3,8)>z(2,9),所以应先检验点(3,8)是否在可行域内。观察与计算都表明该点在可行域内。记点(3,8)为B,B即为搜索到的可行域内邻近边界折线顶点的整点。
(2)作出可行域内的小范围搜索区域。
算出z(3,8)=1800,过B作直线200x+150y=18004x+3y=36.
得到点C(0,12),C为整点。
解方程组
得到点D(4,),△ACD即是新的搜索区域,在S△ACD(包括边)内可以搜索到全部最优解整点,该搜索区域比可行域大大缩小,如图2。
(3)在△ACD(包括边)内整点只有B(3,8)与C(0,12),由于B,C在一直线上,所以z(0,12)= z(3,8)=1800,B,C均为最优解整点,1800为目标函数的最大值。若要通过计算检验在△ACD(包括边)内搜索,由于x∈[0,4),y∈(,12],所以选择x的整数值检验可使计算量小些,令x=0,1,2,3,即可得到△ACD(包括边)内的全部整点只有B(3,8)与C(0,12)。显然,“小范围搜索法”的计算量要比把可行域内的整点逐一代入计算检验大大减少。
至此用“小范围搜索法”解题已全部完成,但在此解题过程中还可以有新的发现。注意到点C(0,12)即为直线6x+5y=50与y轴的交点,直线5x+3y=40与x轴的交点为(8,0),这两个点都在可行域内,且都是可行域边界折线的顶点,又z(8,0)=1600 例2教科书第85页复习参考题七A组第16题,题目略。 本题的线性约束条件 线性目标函数z=160x+252y,其中x,y分别为A型车和B型车的辆数。 作出可行域如图3。 (1)搜索一个可行域内邻近边界折线顶点的整点。 解方程组 得到点A(7,). 得到点A(,4). A,B两点都是可行域边界折线的顶点,但它们都不是整点,所以不是最优解。由于要使目标函数取最小值,因此要寻找可行域左下侧靠近边界上的整点。显然点(7,1)与(3,4)都是可行域内的整点,又z(7,1)=160×7+252×1=1372,z(3,4)=160×3+252×4=1488,z(7,1) (2)作出可行域内的小范围搜索区域。 过C点直线160x+252y=137240x+63y=343. 解方程组 得到 设点(,)为D,得到△ACD,在△ACD(包括边)内可以搜索到全部最优解整点,该搜索范围比可行域大大缩小,如图4。 (3)在△ACD(包括边)内,整点只有(7,1)与(5,2),由于点(5,2)在线段CD的下方,故必有z(5,2) 从上面的两个例子中可以看到,用“小范围搜索法”解线性规划应用问题,目标明确,思路清晰,步骤简明,操作性强,计算量小,准确可靠,既不会增解也不会失解,且不怕作图和观察的误差。笔者在用此法进行“简单线性规则”教学时,收到了较好的效果,学生感到容易理解接受,操作运用也方便。事实上,这种逐步缩小目标范围的搜索法是一种具有普遍意义的方法,对培养学生的探索精神,进行思维训练,提高分析问题、解决问题的能力很有好处。