同类图书

Similar books 换一批
  • 基于公理设计的新型石油装备及工具设计开发

    作者:席文奎

    本书为石油天然气装备设计开发及产品现代设计领域的理论著作,以现代石油天然气开采开发过程提速、提效、能源再生利用、智能与仿生为核心主题,是课题负责人及所负责“西安石油大学石油机械及装备现代设计”创新团队近10年的国家自然科学基金、陕西省自然科学基金、多个中石油重大校企合作课题的技术创新、设计理论与方法创新及产品结构创新等研究成果的系统体现。本书介绍了天然气井排水采气工具——井下节流装置、石油作业自适应辅助工具——可膨胀扶正器、石油测量仿生仪器——可变径井径测量仪、钻井平台可再生能源利用装置——海洋波浪发电装置、石油随钻提速提效工具——水力振荡器等新型石油装备及井下工具的创新设计开发,该过程公理化设计理论与方法贯穿始终,实现了产品功能—结构—性能的迭代映射和最优匹配。本书适合石油天然气开发利用、机械设计制造、产品创新设计等多个领域的研发人员、工程技术人员以及研究生、本科生使用,特别是对从事产品设计研发的项目管理人员,可对项目实施过程中如何进行设计方案决策、设计过程优化和设计质量控制提供理论方法指导和案例借鉴等帮助。

  • 设施农业技术

    作者:胡一鸿

    设施农业是在不适合生物正常生长发育的环境下,采取可控方式,建立设施,人为创造生物生长环境的农业新产业,近年来该项技术发展迅速。本书总结了近年来我们在农学及相关专业的科研、教学实践,图文并茂,从温室大棚、基质栽培技术、水培技术、气雾栽培技术、设施农业灌溉技术和都市农业等方面介绍了设施农业的方法与技术。
    本书可作为农业硕士研究生教材、农学与生物类专业选修课的本科生教材和农业科技特派员的培训教材。

  • 焊接力学

    作者:王元良,陈辉,苟国庆,李达,刘艳

    本书为研究生教材。20世纪30—50年代,各国焊接结构脆断事故频频发生,引起了工程界和学术界的广泛关注,也引发了对设计、材料和工艺进行深入的理论、技术和工程研究,以预防日后脆断事故的发生。20世纪70—80年代,将断裂力学引入焊接结构和工艺分析中,作者参与了我国铁路焊接钢桥研究,并参与了焊接断裂力学研究生和学会组织的“焊接力学学习班”的教学工作。本书即是在当时自编内部教材及以后所在团队科研成果的基础上,结合近期焊接力学的应用与发展,进行了汇总与提炼编写而成的。本书分为焊接变形与应力和焊接断裂力学两篇,共16章,主要内容包括焊接结构特点、焊接加热及冷却、焊接变形应力分析方法、焊接变形与应力控制、焊接组织应力、焊接结构残余应力、焊接残余应力测试、焊接结构断裂分析、脆性断裂控制、焊接结构线弹性断裂力学分析、焊接结构弹塑性断裂力学分析、焊接断裂韧性测试、焊接结构的疲劳强度、疲劳裂纹扩展及寿命估算、裂纹的高速扩展和止裂、用断裂力学方法评定焊接等内容。本书内容系作者团队多年理论探索与实践所得成果,可为相关领域研究者研究焊接力学提供一定的参考和借鉴,也可作为研究生教材。

图书分类

Book classification
  1. 本教材主要介绍数学规划模型、微分方程模型、概率统计模型、优化算法、图像处理和综合评价与决策问题等。数学规划模型包括线性规划模型、整数规划模型和非线性规划模型,概率统计模型包括数据处理、时间序列分析、多元统计分析等。通过介绍相关案例,让学生学会解决理论物理、力学、生态学、生物学、经济学、军事管理等方面提出的微分方程问题和优化问题,解决各种科学实验中的数据分析问题。
  2. 今天,人类社会正处在工业化社会向信息化社会过渡的变革期。以数字化为特征的信息社会具有两个显著特点:计算机技术的迅速发展与广泛应用;数学的应用向一切领域渗透。随着计算机技术的飞速发展,科学计算的作用越来越引起人们的重视,它已经与科学理论和科学实验共同成为人们探索和研究自然界、人类社会的三大基本方法。为了适应这种社会变革,培养和造就出一批又一批适应高度信息化社会且具有创新能力的高素质工程技术和管理人才,在各高校开设“数学建模”课程,培养学生的科学计算能力和创新能力,就成为这种新形势下的历史必然。数学建模是对现实世界的特定对象,为了特定的目的,根据特有的内在规律,对其进行必要的抽象、归纳、假设和简化,运用适当的数学工具建立的一个数学结构。数学建模就是运用数学的思想方法、数学的语言去近似地刻画一个实际研究对象,构建一座沟通现实世界与数学世界的桥梁,并以计算机为工具应用现代计算技术达到解决各种实际问题的目的。建立一个数学模型的全过程称为数学建模。因此“数学建模”(或数学实验)课程教学对于开发学生的创新意识,提升学生的数学素养,培养学生创造性地应用数学工具解决实际问题的能力,都有着独特的功能。
    数学建模过程就是一个创造性的工作过程。人的创新能力首先表现为创造性思维和创新的思想方法。数学本身是一门理性思维科学,数学教学正是通过各个教学环节对学生进行严格的科学思维方法训练,从而引发人的灵感思维,达到培养学生创造性思维的目的。同时数学又是一门实用科学,它能够直接用于生产和实践,解决工程实际中的问题,推动生产力的发展和科学技术的进步。学生参加数学建模活动,首先就要了解问题的实际背景,深入到具体学科领域的前沿,这就需要学生具备能迅速查阅大量科学资料、准确获得自己所需信息的能力;其次不但要求学生必须了解现代数学各门学科知识和各种数学方法,把所掌握的数学工具创造性地应用于具体的实际问题,构建其数学结构,还要求学生熟悉各种数学软件,熟练地把现代计算机技术应用于解决当前实际问题的综合能力;最后要具备把自己的实践过程和结果叙述成文字的写作能力。通过数学建模全过程的各个环节,学生们进行着创造性的思维活动,模拟了现代科学研究过程。通过开展“数学建模”课程的教学和数学建模活动,使学生了解数学科学的重要性和应用的广泛性,进一步激发学生学习数学的兴趣,深化学生对所学数学理论的理解和掌握;培养学生应用数学理论和数学思想方法,利用计算机技术等辅助手段分析、解决实际问题的综合能力;培养学生的数学应用意识,进一步拓宽学生的知识面,培养学生的科学研究能力。
    通过本课程的学习,使学生熟悉并掌握建立数学模型的基本步骤、基本方法和技巧,熟悉常见的数学模型,具备数学建模的初步能力;熟练掌握数学规划、微分方程模型、目标规划的基本内容,时间序列与多元分析基础,图论基础知识、现代优化算法等初步知识,综合评价与预测的基本方法与计算机实现;使学生能熟练地使用相应的数学软件工具对相关模型进行分析与求解;提高学生的动手能力和积极思考问题、灵活运用已学知识的能力;初步具备科技论文写作能力;鼓励其参加大学生数学建模竞赛,培养其团结协作的精神。 
    几年的“数学建模”教学实践告诉我们,进行数学建模教学,为学生提供一本内容丰富的,既理论完整又实用性强的“数学建模”教材,使学生少走弯路尤为重要。这也是我们编写这本教材的初衷。本教材既是我们多年教学经验的总结,也是我们心血的结晶。本教材的特点是尽量为学生提供常用的数学方法,并将相应的Matlab 和Lingo 程序提供给学生,使学生在案例的学习中,在自己动手构建数学模型的同时进行数学实验上机,从而为学生提供数学建模全过程的训练,以便能够达到举一反三、事半功倍的教学效果。
    全书共八章,涵盖了数学建模的主要内容。各章有一定的独立性,这样便于教师和学生按需选择。本书的第一、四、六、八章由储昌木编写,第二、三、五、七章由沈长春编写,全书由贵州民族大学博士点建设文库编委会统稿、审阅并定稿。
    本书可作为数学、统计学专业本科生、研究生关于数学建模与仿真科目的教材及参考书。本书除了作者写作的内容外,部分内容还参考了书后所列的参考文献,在书中不一一列出,作者在这里对这些参考文献的作者表示感谢。
    虽然我们很努力使本书成为一本好的教材,但好的教材还需要多年的教学实践和反复锤炼。由于我们的经验和时间有限,书中的错误和纰漏在所难免,敬请各位同行不吝指正。


    编  者
    2015年4月
    ...查看更多
  1. 1  数学规划模型
    在工程技术、经济管理、交通运输等众多领域中,有大量问题需要寻求最优化方案来辅助人们进行科学决策. 优化问题一般是指用“最好”的方式,使用或分配如劳动力、原材料、设备、资金等有限的资源,使得投入成本最小或者获利最大. 它可归结为如下优化模型:
           ;                             (1.1)
    其中: 表示决策变量, 表示目标函数,  表示约束条件. 约束条件确定了决策变量 的允许取值范围,即 ,而 称为模型(1.1)解的可行域. 
    这是一个多元函数的条件极值问题,对于简单的优化模型,可以直接用微分法求解. 然而针对许多实际问题建立的优化模型,其决策变量个数 和约束条件个数 一般较大,并且最优解往往在可行域的边界上取得,这样就不能简单地用微分法求解,数学规划是解决这类问题的有效方法. 
    当你打算用数学规划的方法来处理一个优化问题的时候,首先要确定优化的目标是什么,决定优化目标需寻求的决策是什么,决策受到哪些条件的限制,再次用数学工具(变量、常数、函数等)表示出来,即建立数学规划模型;最后利用数学规划的方法和相应软件求解,并对结果做一些定性、定量的分析和必要的检验. 
    根据目标函数和约束条件的形式,可将数学规划模型分为线性规划模型、整数规划模型、非线性规划模型、目标规划模型和动态规划模型等. 
    1.1  线性规划模型
    当模型(1.1)中的目标函数 和约束条件中的 均为线性函数时,称模型(1.1)为线性规划模型. 线性规划模型可具体表示为:
                                        (1.2)
    其矩阵形式为:
                                                    (1.3)
    其中, 为决策向量; 为目标函数的系数向量; 为常数向量, 为系数矩阵. 
    1.1.1  线性规划模型的建立
    例1.1  任务分配问题
    问题:某车间有甲、乙两台机床,可用于加工3种工件. 假定这两台车床的可用台时数分别为800和900,3种工件的数量分别为400、600和500,且已知用3种不同车床加工单位数量不同工件所需的台时数和加工费用如表1.1所示.
    表1.1  机床加工工件所需的台时数和加工费用情况
    车床类型 单位工件所需加工台时数 单位工件的加工费用 可用台时数
    工件1 工件2 工件3 工件1 工件2 工件3
    甲 0.4 1.1 1.0 13 9 10 800
    乙 0.5 1.2 1.3 11 12 8 900
    问:怎样分配车床的加工任务,才能既满足加工工件的要求,又使加工费用最低?
    问题分析:这个优化问题的目标是使加工费用最低,要做的决策是根据甲、乙机床加工工件1、工件2与工件3的加工能力和费用,分配甲、乙机床的加工任务,使得总的加工费用最低. 
    建模步骤:
    (1)寻求决策.
    针对本问题,需要回答分配给甲、乙车床的加工任务各是多少,加工费用是多少等. 
    (2)确定决策变量.
    根据决策需求,用变量固定需要回答的问题. 在此,甲、乙机床生产3种工件的加工台时数不同,而决定加工费用的决策为两种机床分别加工3种工件的数量. 因此,设分配给甲机床加工工件1、工件2和工件3的任务分别是 、 和 件,分配给乙机床加工工件1、工件2和工件3的任务分别是 、 和 件. 
    (3)确定优化目标.
    该问题的目标是使总加工费最低,由表1.1中给出的单位加工费用,列出目标函数如下:
     
    (4)寻找约束条件.
    该问题受各工件加工数量和机床加工能力的约束,其中3个工件加工数量的约束是等式约束,机床加工能力的2个约束为不等式约束. 此外,根据问题实际,各决策变量还有非负约束. 
    (5)构成数学模型.
    将目标函数和约束条件放在一起,即得到数学模型:
                             (1.4)
    1.1.2  线性规划模型的求解
    1.1.2.1  Matlab标准形式及求解
    线性规划模型的目标函数可以是求最大值,也可以是求最小值,约束条件的不等号可以是小于等于也可以是大于等于. 为了避免这种形式多样性带来的不便,Matlab中规定线性规划的标准形式为:
     
    其中:x为决策变量,c为目标函数的系数向量,A,b分别是不等式约束中的技术系数矩阵和资源向量,Aeq,beq分别是等式约束中的技术系数矩阵和资源向量,lb为决策变量下界,ub为决策变量上界,其中c,b,beq,lb与ub一般写出列向量,且c,lb与ub维数相同. 
    Matlab中求解线性规划的命令为:
    [x,fval]=linprog(c,A,b,Aeq,beq,lb,ub)
    其中,x返回的是决策向量x的取值,fval返回的是目标函数的最优值. 若没有某种约束,则相应的系数矩阵和资源向量赋值为空矩阵. 例如,若没有等式约束 ,则令Aeq=[],beq=[],如果某个 无下界或无上界,可设定lb(i)=–inf或ub(i)=inf. 关于linprog命令的其他的一些函数调用形式,可通过Matlab指令窗口运行help linprog获取,此处不再赘述. 
    为了利用Matlab软件求解模型(1.4),先将模型(1.4)转化为下述标准形式:
     
     
    这里 . 在Matlab指令窗口输入如下程序:
    c=[13,9,10,11,12,8];
    A=[0. 4,1. 1,1,0,0,0;0,0,0,0. 5,1. 2,1. 3];
    b=[800; 900];
    Aeq=[1,0,0,1,0,0;0,1,0,0,1,0;0,0,1,0,0,1];
    beq=[400;600;500];
    lb=zeros(6,1);
    ub=[];
    [x,fval]=linprog(c,A,b,Aeq,beq,lb,ub)
    回车后,得到结果为
    x =
        0. 0000
        600. 0000
        0. 0000
        400. 0000
        0. 0000
        500. 0000
    fval =
           1. 3800e+004
    即在甲机床上加工600个工件2,在乙机床上加工400个工件1、500个工件3,可在满足条件的情况下使总加工费最小,为13800. 
    1.1.2.2  利用Lingo软件求解
    Lingo是用来求解数学规划问题的主要工具,它内置了一种建立优化模型的语言,可以简便地表述大规模问题,并快速求解和分析结果. 使用Lingo的一些注意事项如下:
    (1)“>”(或“<”)号与“>=”(或“<=”)功能相同;
    (2)变量名以字母开头,不能超过8个字符,变量名不区分大小写(包括Lin中的关键字);
    (3)目标函数所在行是第一行,第二行起为约束条件,行结束为“;”,行中注有“!”符号的后面部分为注释. 如:! It’s Comment;
    (4)在模型的任何地方都可以用“TITLE” 对模型命名(最多72个字符),如TITLE This Model is only an Example;
    (5)变量不能出现在一个约束条件的右端;
    (6)表达式中不接受括号“( )”和逗号“,”等任何符号,如400*(X1+X2)需写为400*X1+400*X2. 此外,表达式应化简,如2*X1+3*X2- 4*X1应写-2*X1+3*X2;
    (7)缺省假定所有变量非负,可在约束条件后用“free name”将变量name的非负假定取消;可在约束条件后对0-1变量说明:@bin(name);可在约束条件后对整数变量说明:@gin(name). 
    利用Lingo软件求解数学规划模型,只需启动Lingo后,在标题为“Lingo Model- Lingo1”的模型窗口中直接输入类似于数学公式的线型规划模型求解命令. 利用Lingo软件求解模型(1.4),可以在模型窗口中直接输入命令:
    min=13*x1+9*x2+10*x3+11*x4+12*x5+8*x6;
    x1+x4=400;
    x2+x5=600;
    x3+x6=500;
    0. 4*x1+1. 1*x2+x3<=800;
    0. 5*x4+1. 2*x5+1. 3*x6<=900; 
    由于Lingo默认所有决策变量都非负,所以变量是非负的条件不需要输入. 选菜单Lingo|Solve(或按Ctrl+S),或用鼠标点击“Solve”按钮,可得如下结果:
    Global optimal solution found. 
       Objective value:                              13800. 00
       Total solver iterations:                             0
                           Variable           Value        Reduced Cost
                                 X1        0. 000000            2. 000000
                                 X2        600. 0000            0. 000000
                                 X3        0. 000000            2. 000000
                                 X4        400. 0000            0. 000000
                                 X5        0. 000000            3. 000000
                                 X6        500. 0000            0. 000000
                                Row    Slack or Surplus      Dual Price
                                  1        13800. 00           -1. 000000
                                  2        0. 000000           -11. 00000
                                  3        0. 000000           -9. 000000
                                  4        0. 000000           -8. 000000
                                  5        140. 0000            0. 000000
                                  6        50. 00000            0. 000000
    上面结果的前三行告诉我们,Lingo求出了模型的全局最优解,最优值为13800(即加工的最小费用为13800),迭代次数为0次. 接下来的7行告诉我们,该问题的最优解为 , , , ,即在甲机床上加工600个工件2,在乙机床上加工400个工件1、500个工件3,可在满足条件的情况下使总加工费最小,为13800. 
    1.1.3  模型分析与评价
    1.1.3.1  线性规划模型的特征
    在例1.1提到的任务分配问题中,可以发现该问题具有下面三个性质. 
    比例性:每个决策变量对目标函数的“贡献”和对每个约束条件左端项的“贡献”均与该决策变量的取值成正比. 例如,对在甲机床加工工件1的数量(决策变量) 而言,在另外5个决策变量取值不变的情况下, 每增加 个单位(即 的值变为 ),目标函数 的值就从 变为 ,即增加 个单位. 对工件加工数量的约束而言,在另外5个决策变量取值不变的情况下, 每增加k个单位(即 的值变为 ),工件1的加工数量就从 (约束条件 的左端项)变成 ,即增加 个单位. 对加工能力的约束而言,在另外5个决策变量取值不变的情况下, 每增加 个单位,在甲机床加工的台时数就从 (约束条件 的左端项)变成 ,即增加 个单位. 
    可加性:各个决策变量对目标函数的“贡献”和对每个约束条件左端项的“贡献”,与其他决策变量的取值无关. 如,对在甲机床加工工件1的数量(决策变量) 而言,在另外5个决策变量取值不变的情况下, 对目标函数 的“贡献”为 ; 对工件1加工的总数量的“贡献”为 ; 需占用甲机床的加工台时数为 . 所有决策变量对目标函数的“贡献”总和即为线性规划模型中的目标函数,所有决策变量对每个约束条件的“贡献”总和即为相应约束条件的左端项. 
    连续性:每个决策变量的取值是连续的. 
    一般而言,只要一个数学规划问题满足上面的三个性质,就可以建立线性规划模型进行求解. 
    1.1.3.2  灵敏性分析
    灵敏度分析是指对系统或周围事物因周围条件变化显示出来的敏感程度的分析. 在建立线性规划模型时,总是假定 都是常数,但实际上这些系数往往是估计值和预测值. 如市场条件一变, 值就会变化; 往往因工艺条件的改变而改变; 是根据资源投入后的经济效果决定的一种决策选择. 因此,提出这样两个问题:当这些参数有一个或几个发生变化时,已求得的线性规划问题的最优解会有什么变化;这些参数在什么范围内变化时,线性规划问题的最优解不变. 
    Lingo软件具有对线性规划问题进行灵敏度分析的功能. 由于灵敏性分析耗费相当多的求解时间,所以在默认设置下不激活灵敏性分析. 当需要进行灵敏性分析时,可通过修改Lingo选项得到. 其具体做法为:选择“Lingo|Options”菜单,在弹出的选项卡中选择“General Solver”,然后找到选项“Dual Computations”,在下拉框中选中“Prices & Ranges”,应用或保存设置. 重新运行“Lingo|Solve”,然后选择“Lingo|Ranges”菜单(或按Ctrl+R).针对例1.1建立的模型(1.4),按照上述操作,可得到如下结果:
    Ranges in which the basis is unchanged:

                                      Objective Coefficient Ranges
                                  Current        Allowable        Allowable
                Variable      Coefficient         Increase         Decrease
                      X1         13. 00000         INFINITY         2. 000000
                      X2         9. 000000         3. 000000         INFINITY
                      X3         10. 00000         INFINITY         2. 000000
                      X4         11. 00000         2. 000000         INFINITY
                      X5         12. 00000         INFINITY         3. 000000
                      X6         8. 000000         2. 000000         INFINITY

                                           Righthand Side Ranges
                     Row          Current        Allowable        Allowable
                                      RHS         Increase         Decrease
                       2         400. 0000         100. 0000         400. 0000
                       3         600. 0000         127. 2727         600. 0000
                       4         500. 0000         38. 46154         500. 0000
                       5         800. 0000         INFINITY         140. 0000
                       6         900. 0000         INFINITY         50. 00000
    上面输出的结果有“Objective Coefficient Ranges”(目标系数范围)和“Righthand Side Ranges”(右边项范围)两部分. 
    目标系数范围是在约束条件不变的情况下对目标系数的分析,第2列为目标函数中变量 的当前系数,第3和第4列分别为最优解不变条件下目标函数系数的允许变化范围. 例如,在目标函数中变量  的系数不变的情况下, 的系数变化范围为 ,即 的系数取 内变化,不改变模型(1.4)的最优解,仍为 , , , . 
    右边项范围是在目标函数不变的情况下对“资源”的影子价格的分析,第2列对应约束条件右端项的当前取值,第3和第4列分别为各约束条件右端项可变化的范围. 将该部分与模型求解部分的Dual Price列相应行进行对比分析,例如对Row为2的行,表示对工件1的加工数量的约束 的右端项可在 内变化,且工件1的加工数量每增加1个单位,总成本增加11个单位. 
    1.1.4  可以转化为线性规划的问题
    很多看起来并非线性规划的问题也可以通过变换转化为线性规划问题来解决. 例如下面的目标函数带绝对值的规划问题:
                                              (1.5)
    其中, ,A和b为相应维数的矩阵和向量. 
    对任意的 ,存在 满足
     , 
    事实上,我们只要取 , 就可以满足上面的条件. 
    这样,记 , ,我们可以把上面的问题变成:
                                                    (1.6)
    下面通过一个实例熟悉一般数学规划模型的建模过程,并说明如何将其转化为线性规划模型. 
    例1.2  一个工厂的甲、乙、丙三个车间生产同一种产品,每件产品由4个零件A和3个零件B组成. 这两种零件耗用两种不同的原材料,而这两种原材料的现有数额分别是300公斤和500公斤. 每个生产班的原材料的耗用量和零件产量如表1.2所示. 问这三个车间应各开多少班数,才能使这种产品的配套数达到最大.
    表1.2  各生产车间原材料耗用量和零件产量情况
    车间 每班用料数 每班产量(个)
    原料1 原料2 零件A 零件B
    甲 8 6 7 5
    乙 5 9 6 9
    丙 3 8 8 4
    问题分析:这个优化问题的目标是使产品的配套数达到最大,要做的决策是根据甲、乙、丙三车间拥有的原材料数量和零件产量,来分配各车间的开班数,使得生产的产品配套数达到最大. 
    建模步骤:
    (1)寻求决策.
    该问题需要回答三个车间各应开多少班,如何判定产品的配套数、配套数的最大值是多少等问题. 
    (2)确定决策变量.
    设甲、乙、丙三个车间所开的生产班数分别是 , , . 
    (3)确定优化目标.
    该问题的目标函数是要使产品的配套数最大,甲、乙、丙生产A零件总数是 ,生产B零件总数是 . 而每件产品要4个A零件,3个B零件,所以产品的最大量不超过 和 中较小的一个. 因此,产品的配套数 . 
    (4)寻找约束条件.
    由于原材料的总量有限,所以三个车间所用原料1和原料2的总和应分别小于300公斤和500公斤,即 , . 另外,根据问题的实际情况,还有决策变量的非负约束.   
    (5)构成数学模型.
    将目标函数和约束条件放在一起,即得到数学模型:
                              (1.7)
    模型转化:模型(1.7)的目标函数不是线性函数,但可以通过适当的变换化为线性函数,设
     
    则上式可以等价于下面两个不等式:
     ,                               (1.8)
    将条件(1.8)化为线性条件后,模型(1.7)可转化为
                                          (1.9)
    模型求解:将模型(1.9)化为如下标准形式:
                                        (1.10)
    (1)Matlab软件求解.
    令 ,根据模型(1.10)中的目标函数和约条件的系数,在Matlab指令窗口输入求解程序:
    c=[0,0,0,-1];
    A=[-7,-6,-8,4;-5,-9,-4,3;8,5,3,0;6,9,8,0];
    b=[0,0,300,500]';
    Aeq=[];
    beq=[];
    lb=zeros(4,1);
    ub=[inf,inf,inf,inf];
    [X,fval]=linprog(c,A,b,Aeq,beq,lb,ub);
    S=-fval;
    X,S
    回车后,得到结果为:
    X =
       15. 1232
       15. 7179
       33. 4749
      116. 9924
    S =
      116. 9924
    (2)Lingo软件求解.
    利用Lingo软件求解优化模型时,不需要像Matlab那样将模型(1.9)化为标准形(1.10)后才能进行. 可以直接在Lingo模型窗口中按模型(1.9)输入:
    max=y;
    7*x1+6*x2+8*x3-4*y>=0;
    5*x1+9*x2+4*x3-3*y>=0;
    8*x1+5*x2+3*x3<=300;
    6*x1+9*x2+8*x3<=500;
    求解结果如下:
    Global optimal solution found. 
       Objective value:                              116. 9924
       Total solver iterations:                             4
                           Variable           Value        Reduced Cost
                                  Y        116. 9924            0. 000000
                                 X1        15. 12319            0. 000000
                                 X2        15. 71793            0. 000000
                                 X3        33. 47494            0. 000000
                                Row    Slack or Surplus      Dual Price
                                  1        116. 9924            1. 000000
                                  2        0. 000000          -0. 1537808
                                  3        0. 000000          -0. 1282923
                                  4        0. 000000           0. 7136788E-01
                                  5        0. 000000           0. 1911640

    两种软件的求解结果显示,当甲、乙、丙三个车间所开的生产班数分别为15.1232、15.7179和33.4749时,生产的产品配套数达到最大,为116.9924套. 
    注记:一般而言,车间所开的生产班数和产品最大配套数应为整数. 因此,该线性规划模型的决策变量还应为整数. 在增加这一约束条件后,又该如何求解该模型呢?我们将在下一节介绍整数规划模型后给出其解法. 
    ...查看更多
  1. 1  数学规划模型 1
    1.1  线性规划模型 1
    1.2  整数规划模型 11
    1.3  非线性规划模型 18
    1.4  目标规划模型 37
    1.5  动态规划模型 47
    习题1 60
    2  图与网络建模方法 64
    2.1  概  论 64
    2.2  图与网络的基本概念 65
    2.3  最短路问题 68
    2.4  最小生成树问题 77
    2.5  Euler图和Hamilton图 81
    2.6  最大流问题 87
    2.7  最小费用流及其求法 92
    2.8  使用Matlab图论工具箱求解图论问题 93
    习题2 96
    3  插值和拟合 98
    3.1  插  值 98
    3.2  拟  合 110
    习题3 125
    4  微分方程与差分方程模型 128
    4.1  人口的控制与预测模型 129
    4.2  市场经济的蛛网模型 141
    4.3  传染病模型 149
    4.4  战争模型 153
    4.5  微分方程与差分方程稳定性理论简介 158
    习题4 161
    5  统计分析方法 164
    5.1  回归分析 164
    5.2  聚类分析 182
    5.3  主成分分析 200
    5.4  因子分析 208
    习题5 219
    6  时间序列模型 222
    6.1  确定性时间序列分析 223
    6.2  随机性时间序列分析 232
    习题6 237
    7  现代优化算法 239
    7.1  模拟退火算法 239
    7.2  遗传算法 246
    习题7 256
    8  综合评价模型及评价方法 257
    8.1  层次分析方法 257
    8.2  TOPSIS法 267
    8.3  模糊综合评价法 273
    8.4  灰色关联分析法 280
    8.5  数据包络分析法 284
    8.6  秩和比法 287
    习题8 292
    附录1  Matlab基础 295
    1.1  Matlab软件简介 295
    1.2  Matlab的进入与界面 296
    1.3  变量与函数 297
    1.4  数组与矩阵 302
    1.5  简单绘图 304
    1.6  三维绘图 306
    1.7  Matlab函数 307
    1.8  插值及曲线似合 310
    1.9  求数值积分 312
    1.10  求数值导数 312
    1.11  解微分方程 313
    1.12  符号计算 314
    附录2  Lingo软件简介 318
    2.1  Lingo快速入门 318
    2.2  Lingo中的集 319
    2.3  模型的数据部分和初始部分 321
    2.4  Lingo函数 325
    参考文献 334
    ...查看更多

评论

0/500