数学建模-非线性规划
- 格式:pdf
- 大小:279.62 KB
- 文档页数:24
数学建模中的非线性规划问题求解方法研究随着信息化的发展,数学建模在各个领域中得到越来越广泛的应用。
而在数学建模中,非线性规划问题是最为普遍的一种问题。
在实际问题中,往往存在大量的决策变量以及约束条件,这就使得求解非线性规划问题更加困难。
因此,本文将重点介绍一些非线性规划问题的求解方法。
一、传统方法在传统的求解方法中,我们通常采用数值计算的方法来解决非线性规划问题。
其中比较常用的方法包括二分法、牛顿法、拟牛顿法、凸优化等。
这些方法主要是基于数值计算的方法,最大的优点是计算速度快,缺点是无法保证全局最优解。
因此,在实际问题中往往需要结合其他方法来进行求解。
二、全局优化方法全局优化方法是一种针对大型、高维非线性规划问题的求解方法。
其中包括分支定界法、随机搜索法、遗传算法等。
这些方法主要是针对非线性规划问题的全局最优解进行求解,可以有效地解决因初值选取不当导致的最优解失效问题。
尤其是在高维问题及多目标优化问题中发挥了重要作用。
三、混合整数非线性规划混合整数非线性规划是一种同时包含了整数规划与非线性规划的问题类型。
在实际问题中,很多时候需要同时考虑离散决策与连续决策,这时候我们就需要采用混合整数非线性规划进行求解。
在这种问题中,我们通常采用分支定界法或割平面法进行求解,这些方法可以有效地保证求解得到的最优解的可行性。
四、多目标决策问题在实际问题中,经常会遇到多目标决策问题,也就是需要同时考虑几种不同的目标函数,这时候我们就需要采用多目标优化的方法。
在实际求解中,多目标优化通常需要结合Pareto理论进行求解,也就是将多个目标函数综合考虑,以自我牺牲为代价尽可能地满足所有目标。
以上所介绍的非线性规划问题求解方法都有各自的优点和局限性,在实际问题中我们需要根据具体情况进行选择。
但是总的来说,在数学建模中非线性规划问题的求解是一项非常重要的任务,而求解方法的选择则需要综合考虑问题的性质、数据结构以及问题的维度等多个因素。
数学建模各种分析方法数学建模是指将实际问题转化为数学问题,然后利用数学方法求解的过程。
在数学建模中,有各种各样的分析方法可以辅助研究人员进行问题分析和求解。
下面将介绍一些常用的数学建模分析方法。
1.计算方法:计算方法是数学建模中最基础也是最常用的方法之一、它可以包括求解方程组、数值积分、数值微分、插值与拟合、数值优化等。
通过这些计算方法,可以将实际问题转化为数学模型,然后利用计算机进行数值计算和模拟实验。
2.统计分析方法:统计分析在数学建模中也起着非常重要的作用。
它可以用来分析数据、建立概率模型、进行参数估计和假设检验等。
统计分析可以帮助研究人员从大量数据中提取有用的信息,深入分析问题的特征和规律,为问题解决提供参考。
3.线性规划模型:线性规划是一种优化模型,常用于解决资源分配、生产计划、物流运输等问题。
线性规划模型的目标是最大化或最小化一些线性函数,同时满足一系列线性等式或不等式约束。
通过线性规划模型,可以确定最优决策和最优解。
4.非线性规划模型:非线性规划是一种更一般的优化模型,用于解决非线性约束条件下的最优化问题。
非线性规划模型常用于经济管理、工程设计、生物医学等领域。
非线性规划模型的求解较复杂,需要借助数值计算和优化算法。
5.动态规划模型:动态规划是一种用来解决决策问题的数学方法,其特点是将问题分解为多个阶段,并利用最优子结构的性质进行递推求解。
动态规划模型常用于决策路径规划、资源调度、序列比对等问题。
它优化了逐步贪心法的局部最优解,能够得到全局最优解。
6.图论模型:图论是一种数学工具,用于研究图或网络结构及其属性。
图论模型在数学建模中可以用来分析网络拓扑、路径优化、最短路径、最小生成树等问题。
图论模型的特点是简洁明了,适用于复杂问题的分析和求解。
7.随机过程模型:随机过程是一种描述随机变量随时间变化的数学模型,常用于建立概率模型和分析具有随机性的系统。
随机过程模型常用于金融风险评估、天气预测、信号处理、优化设计等问题。
常见数学建模模型一、线性规划模型线性规划是一种常用的数学建模方法,它通过建立线性函数和约束条件,寻找最优解。
线性规划可以应用于各种实际问题,如生产调度、资源分配、运输问题等。
通过确定决策变量、目标函数和约束条件,可以建立数学模型,并利用线性规划算法求解最优解。
二、整数规划模型整数规划是线性规划的一种扩展形式,它要求决策变量为整数。
整数规划模型常用于一些离散决策问题,如旅行商问题、装箱问题等。
通过引入整数变量和相应的约束条件,可以将问题转化为整数规划模型,并利用整数规划算法求解最优解。
三、非线性规划模型非线性规划是一类目标函数或约束条件中存在非线性项的优化问题。
非线性规划模型常见于工程设计、经济优化等领域。
通过建立非线性函数和约束条件,可以将问题转化为非线性规划模型,并利用非线性规划算法求解最优解。
四、动态规划模型动态规划是一种通过将问题分解为子问题并以递归方式求解的数学建模方法。
动态规划常用于求解具有最优子结构性质的问题,如背包问题、最短路径问题等。
通过定义状态变量、状态转移方程和边界条件,可以建立动态规划模型,并利用动态规划算法求解最优解。
五、排队论模型排队论是一种研究队列系统的数学理论,可以用于描述和优化各种排队系统,如交通流、生产线、客户服务等。
排队论模型通常包括到达过程、服务过程、队列长度等要素,并通过概率和统计方法分析系统性能,如平均等待时间、系统利用率等。
六、图论模型图论是一种研究图结构和图算法的数学理论,可以用于描述和优化各种实际问题,如网络优化、路径规划、社交网络等。
图论模型通过定义节点、边和权重,以及相应的约束条件,可以建立图论模型,并利用图算法求解最优解。
七、随机模型随机模型是一种考虑不确定性因素的数学建模方法,常用于风险评估、金融建模等领域。
随机模型通过引入随机变量和概率分布,描述不确定性因素,并利用概率和统计方法分析系统行为和性能。
八、模糊模型模糊模型是一种用于处理模糊信息的数学建模方法,常用于模糊推理、模糊控制等领域。
数学建模中的非线性规划问题在数学建模领域中,非线性规划问题是一类重要且常见的问题,它在实际应用中具有广泛的意义和价值。
非线性规划问题的研究和解决,对于优化问题的求解和实际应用具有重要的指导作用。
非线性规划问题可以简单地理解为在约束条件下寻找一个或多个使目标函数最优化的变量取值。
与线性规划问题不同,非线性规划问题在目标函数和约束条件中可能存在非线性项,因此其求解难度较大。
不同于线性规划问题的凸性、单调性等属性,非线性规划问题涉及到更多的数学工具和分析方法。
在实际应用中,非线性规划问题的出现非常普遍。
例如,在生产中,企业需要在有限的资源条件下使利润最大化,这就需要解决一个非线性规划问题。
除此之外,非线性规划问题还广泛应用于交通、能源、金融等领域。
不仅如此,非线性规划问题还可以用于统计数据拟合、函数逼近等问题的求解。
因此,研究和解决非线性规划问题具有非常重要的实际意义。
在解决非线性规划问题时,常用的方法主要包括精确解法和近似解法。
精确解法主要包括拉格朗日乘子法、KKT条件等,通过求解一系列方程和方程组来确定最优解。
这类方法通常适用于问题结构相对简单、目标函数和约束条件有良好性质的情况。
然而,对于问题结构复杂、目标函数和约束条件非常复杂的情况,精确解法往往效率较低,难以求解。
因此,在实际应用中,近似解法更为常见。
近似解法主要包括梯度下降法、牛顿法、拟牛顿法、遗传算法等。
这些方法通常基于局部优化思想,通过不断迭代和优化,逐步靠近最优解。
这类方法适用于一般性的非线性规划问题,具有较强的鲁棒性和适应性。
但是,这些方法也有其局限性,如收敛速度慢、易陷入局部最优等。
除了上述方法外,还有一些新的研究方法和算法被提出,如混合整数非线性规划、次梯度法、粒子群优化等。
这些方法在某些特定问题中表现出较好的运用效果,并有望在未来的研究中得到更广泛的应用。
总之,非线性规划问题在数学建模中占据重要地位,对于优化问题的求解和实际应用具有重要的指导作用。
数学建模常用方法数学建模是利用数学工具和方法来研究实际问题,并找到解决问题的最佳方法。
常用的数学建模方法包括线性规划、非线性规划、动态规划、整数规划、图论、最优化理论等。
1. 线性规划(Linear Programming, LP): 线性规划是一种在一定约束条件下寻找一组线性目标函数的最佳解的方法。
常见的线性规划问题包括生产调度问题、资源分配问题等。
2. 非线性规划(Nonlinear Programming, NLP): 非线性规划是指当目标函数或约束条件存在非线性关系时的最优化问题。
非线性规划方法包括梯度方法、牛顿法、拟牛顿法等。
3. 动态规划(Dynamic Programming, DP): 动态规划方法是一种通过将复杂的问题分解成多个子问题来求解最优解的方法。
动态规划广泛应用于计划调度、资源配置、路径优化等领域。
4. 整数规划(Integer Programming, IP): 整数规划是一种在线性规划的基础上,将变量限制为整数的最优化方法。
整数规划常用于离散变量的问题,如设备配置、路径优化等。
5. 图论(Graph Theory): 图论方法研究图结构和图运算的数学理论,常用于解决网络优化、路径规划等问题。
常见的图论方法包括最短路径算法、最小生成树算法等。
6. 最优化理论(Optimization Theory): 最优化理论是研究寻找最优解的数学方法和理论,包括凸优化、非凸优化、多目标优化等。
最优化理论在优化问题建模中起到了重要的作用。
7. 离散数学方法(Discrete Mathematics): 离散数学方法包括组合数学、图论、概率论等,常用于解决离散变量或离散状态的问题。
离散数学方法在计算机科学、工程管理等领域应用广泛。
8. 概率统计方法(Probability and Statistics): 概率统计方法通过对已有数据进行分析和建模,提供了一种推断和预测的数学方法。
概率统计方法在决策分析、风险评估等领域起到了重要的作用。
数学建模常用方法介绍数学建模是指利用数学方法对实际问题进行数学描述和分析的过程。
它是数学与实际问题相结合的一种科学研究方法。
在数学建模中,常用的方法有线性规划、非线性规划、动态规划、数值模拟、统计分析等。
下面将介绍这些常用的数学建模方法。
1.线性规划线性规划是一种优化问题的数学描述方法,可以用于求解最优化问题,例如最大化利润或最小化成本。
线性规划的基本思想是在一定的约束条件下,通过线性目标函数和线性约束条件,寻找最优解。
线性规划常用的算法有单纯形法、内点法等。
2.非线性规划非线性规划是一种在约束条件下求解非线性最优化问题的方法。
与线性规划不同,非线性规划中目标函数和/或约束条件是非线性的。
非线性规划的求解方法包括梯度下降法、牛顿法等。
3.动态规划动态规划是一种常用的求解最优化问题的方法,它可以用于求解具有重叠子问题结构的问题。
动态规划将原问题分解为一系列子问题,并通过保存子问题的解来避免重复计算,从而降低计算复杂度。
动态规划常用于求解最短路径问题、背包问题等。
4.数值模拟数值模拟是通过数值方法对实际问题进行计算机模拟和仿真的方法。
数值模拟在现代科学和工程中得到广泛应用。
数值模拟方法包括有限差分法、有限元法、蒙特卡洛方法等。
5.统计分析统计分析是通过数理统计方法对数据进行分析和推断的方法。
统计分析可以帮助我们了解数据的分布、关系和趋势,并做出科学的推断和预测。
统计分析方法包括假设检验、方差分析、回归分析等。
除了以上常用方法,还有一些其他常用的数学建模方法,例如图论、随机过程、优化算法等。
不同的问题需要选用不同的数学建模方法。
为了解决实际问题,数学建模需要结合实际背景和需求,在数学建模的过程中运用合适的数学方法,建立准确的模型,并通过数学分析和计算机辅助求解,得到符合实际情况的解答和结论。
数学建模的过程不仅仅是将数学工具应用于实际问题,更要注重问题的形式化、合理性和可行性。
在实际建模过程中,需要对问题进行适当的简化和假设,并考虑到模型的稳定性和可靠性。
数学建模常用算法模型数学建模是将实际问题抽象为数学模型,并利用数学方法求解问题的过程。
在数学建模中,算法模型是解决问题的关键。
下面介绍一些常用的数学建模算法模型。
1.线性规划模型:线性规划是一种用于求解线性约束下的最优化问题的数学方法。
线性规划模型的目标函数和约束条件均为线性函数。
线性规划广泛应用于供需平衡、生产调度、资源配置等领域。
2.非线性规划模型:非线性规划是一种用于求解非线性目标函数和约束条件的最优化问题的方法。
非线性规划模型在能源优化调度、金融风险管理、工程设计等方面有广泛应用。
3.整数规划模型:整数规划是一种在决策变量取离散值时求解最优化问题的方法。
整数规划模型在网络设计、物流调度、制造安排等领域有广泛应用。
4.动态规划模型:动态规划是一种通过将问题分解为多个阶段来求解最优化问题的方法。
动态规划模型在资源分配、投资决策、路径规划等方面有广泛应用。
5.随机规划模型:随机规划是一种在目标函数和约束条件存在不确定性时求解最优化问题的方法。
随机规划模型在风险管理、投资决策、资源调度等方面有广泛应用。
6.进化算法模型:进化算法是一种通过模拟生物进化过程来求解最优化问题的方法。
进化算法模型包括遗传算法、粒子群算法、蚁群算法等,被广泛应用于参数优化、数据挖掘、机器学习等领域。
7.神经网络模型:神经网络是一种模仿人脑神经元连接和传递信息过程的数学模型。
神经网络模型在模式识别、数据分类、信号处理等领域有广泛应用。
8.模糊数学模型:模糊数学是一种用于处理不确定性和模糊信息的数学模型。
模糊数学模型在风险评估、决策分析、控制系统等方面有广泛应用。
除了以上常用的数学建模算法模型,还有许多其他的算法模型,如图论模型、动力系统模型、马尔科夫链模型等。
不同的问题需要选择合适的算法模型进行建模和求解。
数学建模算法模型的选择和应用需要根据具体的问题和要求进行。
数学建模常用算法数学建模是指将实际问题转化为数学模型,并通过数学方法进行求解的过程。
在数学建模中,常用的算法有很多种,下面将介绍一些常见的数学建模算法。
1.最优化算法:-线性规划算法:如单纯形法、内点法等,用于求解线性规划问题。
-非线性规划算法:如最速下降法、牛顿法等,用于求解非线性规划问题。
-整数规划算法:如分支定界法、割平面法等,用于求解整数规划问题。
2.概率统计算法:-蒙特卡洛模拟:通过模拟随机事件的方式,得出问题的概率分布。
-贝叶斯统计:利用先验概率和条件概率,通过数据更新后验概率。
-马尔可夫链蒙特卡洛:用马尔可夫链的方法求解复杂的概率问题。
3.图论算法:-最短路径算法:如迪杰斯特拉算法、弗洛伊德算法等,用于求解两点之间的最短路径。
-最小生成树算法:如普里姆算法、克鲁斯卡尔算法等,用于求解图中的最小生成树。
- 最大流最小割算法: 如Edmonds-Karp算法、Dinic算法等,用于求解网络流问题。
4.插值和拟合算法:-多项式插值:如拉格朗日插值、牛顿插值等,用于通过已知数据点拟合出多项式模型。
-最小二乘法拟合:通过最小化实际数据与拟合模型之间的差异来确定模型参数。
-样条插值:通过使用多段低次多项式逼近实际数据,构造连续的插值函数。
5.遗传算法和模拟退火算法:-遗传算法:通过模拟自然选择、遗传变异和交叉等过程,优化问题的解。
-模拟退火算法:模拟固体退火过程,通过随机策略进行,逐步靠近全局最优解。
6.数据挖掘算法:- 聚类算法: 如K-means算法、DBSCAN算法等,用于将数据分为不同的类别。
-分类算法:如朴素贝叶斯算法、决策树算法等,用于通过已知数据的类别预测新数据的类别。
- 关联分析算法: 如Apriori算法、FP-growth算法等,用于发现数据集中的关联规则。
以上只是数学建模中常用的一些算法,实际上还有很多其他算法也可以应用于数学建模中,具体使用哪种算法取决于问题的性质和要求。
四类基本模型1 优化模型1.1 数学规划模型线性规划、整数线性规划、非线性规划、多目标规划、动态规划。
1.2 微分方程组模型阻滞增长模型、SARS 传播模型。
1.3 图论与网络优化问题最短路径问题、网络最大流问题、最小费用最大流问题、最小生成树问题(MST)、旅行商问题(TSP)、图的着色问题。
1.4 概率模型决策模型、随机存储模型、随机人口模型、报童问题、Markov 链模型。
1.5 组合优化经典问题● 多维背包问题(MKP)背包问题:n 个物品,对物品i ,体积为i w ,背包容量为W 。
如何将尽可能多的物品装入背包。
多维背包问题:n 个物品,对物品i ,价值为i p ,体积为i w ,背包容量为W 。
如何选取物品装入背包,是背包中物品的总价值最大。
多维背包问题在实际中的应用有:资源分配、货物装载和存储分配等问题。
该问题属于NP 难问题。
● 二维指派问题(QAP)工作指派问题:n 个工作可以由n 个工人分别完成。
工人i 完成工作j 的时间为ij d 。
如何安排使总工作时间最小。
二维指派问题(常以机器布局问题为例):n 台机器要布置在n 个地方,机器i 与k 之间的物流量为ik f ,位置j 与l 之间的距离为jl d ,如何布置使费用最小。
二维指派问题在实际中的应用有:校园建筑物的布局、医院科室的安排、成组技术中加工中心的组成问题等。
●旅行商问题(TSP)旅行商问题:有n个城市,城市i与j之间的距离为d,找一条经过n个城ij市的巡回(每个城市经过且只经过一次,最后回到出发点),使得总路程最小。
●车辆路径问题(VRP)车辆路径问题(也称车辆计划):已知n个客户的位置坐标和货物需求,在可供使用车辆数量及运载能力条件的约束下,每辆车都从起点出发,完成若干客户点的运送任务后再回到起点,要求以最少的车辆数、最小的车辆总行程完成货物的派送任务。
TSP问题是VRP问题的特例。
●车间作业调度问题(JSP)车间调度问题:存在j个工作和m台机器,每个工作由一系列操作组成,操作的执行次序遵循严格的串行顺序,在特定的时间每个操作需要一台特定的机器完成,每台机器在同一时刻不能同时完成不同的工作,同一时刻同一工作的各个操作不能并发执行。
非线性规划问题的混合整数模型及求解算法研究非线性规划(Nonlinear Programming,NLP)问题是指目标函数或约束条件中至少存在一个非线性函数的优化问题。
而混合整数规划(Mixed Integer Programming,MIP)问题是指在线性规划的基础上,还包含了整数(或整数和0-1变量)的优化问题。
在实际应用中,很多问题涉及到同时考虑连续变量和离散变量的情况,即混合整数非线性规划(Mixed Integer Nonlinear Programming,MINLP)问题。
解决MINLP问题具有很高的理论和实际意义,但由于其复杂性,一直以来都是计算最困难的类型之一。
针对非线性规划问题的混合整数模型及其求解算法的研究,可以从下面几个方面展开:1. 混合整数非线性规划问题的数学建模混合整数非线性规划问题的数学建模是研究的基础,通过将实际问题转化为数学模型,可以更好地理解和解决问题。
在建模过程中,需要考虑目标函数、约束条件和决策变量等因素,确保模型的准确性和可行性。
2. 混合整数非线性规划问题的求解算法针对混合整数非线性规划问题的求解算法,有许多经典的方法可以利用。
比较常用的方法包括分支定界法、割平面法、列生成法、松弛法等。
这些算法可以根据实际问题的特点选择合适的方法进行求解,并提高求解效率和准确性。
3. 混合整数非线性规划问题的应用领域混合整数非线性规划问题的应用领域广泛,包括生产计划、资源分配、供应链优化、网络设计等。
对于不同的应用领域,需要结合实际情况对模型和算法进行特定的定制和优化,以更好地解决实际问题。
4. 混合整数非线性规划问题的软件工具和案例分析市场上有许多专门用于求解混合整数非线性规划问题的软件工具,比如GAMS、AMPL等。
通过对这些工具的学习和实际案例的分析,可以更好地理解混合整数非线性规划问题的求解方法和技巧。
5. 混合整数非线性规划问题的研究前景和挑战对于混合整数非线性规划问题的研究还存在许多挑战,如精确解和近似解的求解、多目标优化、不确定性建模等。
一、概述数学建模是数学与实际问题相结合的产物,通过建立数学模型来解决现实生活中的复杂问题。
Matlab作为一个强大的数学计算工具,在数学建模中具有重要的应用价值。
本文将介绍30种经典的数学建模模型,以及如何利用Matlab对这些模型进行建模和求解。
二、线性规划模型1. 线性规划是数学建模中常用的一种模型,用于寻找最优化的解决方案。
在Matlab中,可以使用linprog函数对线性规划模型进行建模和求解。
2. 举例:假设有一家工厂生产两种产品,分别为A和B,要求最大化利润。
产品A的利润为$5,产品B的利润为$8,而生产每单位产品A 和B分别需要8个单位的原料X和10个单位的原料Y。
此时,可以建立线性规划模型,使用Matlab求解最大化利润。
三、非线性规划模型3. 非线性规划是一类更加复杂的规划问题,其中目标函数或约束条件存在非线性关系。
在Matlab中,可以使用fmincon函数对非线性规划模型进行建模和求解。
4. 举例:考虑一个有约束条件的目标函数,可以使用fmincon函数在Matlab中进行建模和求解。
四、整数规划模型5. 整数规划是一种特殊的线性规划问题,其中决策变量被限制为整数。
在Matlab中,可以使用intlinprog函数对整数规划模型进行建模和求解。
6. 举例:假设有一家工厂需要决定购物哪种机器设备,以最大化利润。
设备的成本、维护费用和每台设备能生产的产品数量均为已知条件。
可以使用Matlab的intlinprog函数对该整数规划模型进行建模和求解。
五、动态规划模型7. 动态规划是一种数学优化方法,常用于多阶段决策问题。
在Matlab 中,可以使用dynamic programming toolbox对动态规划模型进行建模和求解。
8. 举例:考虑一个多阶段生产问题,在每个阶段都需要做出决策以最大化总利润。
可以使用Matlab的dynamic programming toolbox对该动态规划模型进行建模和求解。
-32-第三章 非线性规划§1 非线性规划1.1 非线性规划的实例与定义如果目标函数或约束条件中包含非线性函数,就称这种规划问题为非线性规划问题。
一般说来,解非线性规划要比解线性规划问题困难得多。
而且,也不象线性规划有单纯形法这一通用方法,非线性规划目前还没有适于各种问题的一般算法,各个方法都有自己特定的适用范围。
下面通过实例归纳出非线性规划数学模型的一般形式,介绍有关非线性规划的基本概念。
例1 (投资决策问题)某企业有n 个项目可供选择投资,并且至少要对其中一个项目投资。
已知该企业拥有总资金A 元,投资于第),,1(n i i L =个项目需花资金i a 元,并预计可收益i b 元。
试选择最佳投资方案。
解 设投资决策变量为 ⎩⎨⎧=个项目决定不投资第,个项目决定投资第i i x i 0,1,n i ,,1L =,则投资总额为∑=ni ii xa 1,投资总收益为∑=ni ii xb 1。
因为该公司至少要对一个项目投资,并且总的投资金额不能超过总资金A ,故有限制条件 ∑=≤<ni ii A xa 1另外,由于),,1(n i x i L =只取值0或1,所以还有 .,,1,0)1(n i x x i i L ==−最佳投资方案应是投资额最小而总收益最大的方案,所以这个最佳投资决策问题归结为总资金以及决策变量(取0或1)的限制条件下,极大化总收益和总投资之比。
因此,其数学模型为:∑∑===ni ii ni ii xa xb Q 11maxs.t. ∑=≤<ni ii A xa 1.,,1,0)1(n i x x i i L ==−上面例题是在一组等式或不等式的约束下,求一个函数的最大值(或最小值)问题,其中至少有一个非线性函数,这类问题称之为非线性规划问题。
可概括为一般形式)(min x fq j x h j ,,1,0)(s.t.L =≤ (NP) p i x g i ,,1,0)(L ==-33-其中T n x x x ][1L =称为模型(NP)的决策变量,f 称为目标函数,i g ),,1(p i L =和),,1(q j h j L =称为约束函数。
另外,0)(=x g i ),,1(p i L =称为等式约束,0)(≤x h j ),,1(q j L =称为不等式的约束。
对于一个实际问题,在把它归结成非线性规划问题时,一般要注意如下几点: (i)确定供选方案:首先要收集同问题有关的资料和数据,在全面熟悉问题的基础上,确认什么是问题的可供选择的方案,并用一组变量来表示它们。
(ii)提出追求目标:经过资料分析,根据实际需要和可能,提出要追求极小化或极大化的目标。
并且,运用各种科学和技术原理,把它表示成数学关系式。
(iii)给出价值标准:在提出要追求的目标之后,要确立所考虑目标的“好”或“坏”的价值标准,并用某种数量形式来描述它。
(iv)寻求限制条件:由于所追求的目标一般都要在一定的条件下取得极小化或极大化效果,因此还需要寻找出问题的所有限制条件,这些条件通常用变量之间的一些不等式或等式来表示。
1.2 线性规划与非线性规划的区别 如果线性规划的最优解存在,其最优解只能在其可行域的边界上达到(特别是可行域的顶点上达到);而非线性规划的最优解(如果最优解存在)则可能在其可行域的任意一点达到。
1.3 非线性规划的Matlab 解法Matlab 中非线性规划的数学模型写成以下形式 )(min x f⎪⎪⎩⎪⎪⎨⎧=≤=⋅≤0)(0)(x Ceq x C Beq x Aeq BAx , 其中)(x f 是标量函数,Beq Aeq B A ,,,是相应维数的矩阵和向量,)(),(x Ceq x C 是非线性向量函数。
Matlab 中的命令是X=FMINCON(FUN,X0,A,B,Aeq,Beq,LB,UB,NONLCON,OPTIONS)它的返回值是向量x ,其中FUN 是用M 文件定义的函数)(x f ;X0是x 的初始值;A,B,Aeq,Beq 定义了线性约束Beq X Aeq B X A =≤*,*,如果没有线性约束,则A=[],B=[],Aeq=[],Beq=[];LB 和UB 是变量x 的下界和上界,如果上界和下界没有约束,则LB=[],UB=[],如果x 无下界,则LB 的各分量都为-inf,如果x 无上界,则UB的各分量都为inf;NONLCON 是用M 文件定义的非线性向量函数)(),(x Ceq x C ;OPTIONS 定义了优化参数,可以使用Matlab 缺省的参数设置。
例2 求下列非线性规划8)(min 232221+++=x x x x fs.t. 023221≥+−x x x 2033221≤++x x x02221=+−−x x-34-32232=+x x0,,321≥x x x解 (i)编写M 文件fun1.m 定义目标函数 function f=fun1(x); f=sum(x.^2)+8;(ii )编写M 文件fun2.m 定义非线性约束条件 function [g,h]=fun2(x); g=[-x(1)^2+x(2)-x(3)^2x(1)+x(2)^2+x(3)^3-20]; %非线性不等式约束 h=[-x(1)-x(2)^2+2x(2)+2*x(3)^2-3]; %非线性等式约束 (iii )编写主程序文件example2.m 如下:options=optimset('largescale','off');[x,y]=fmincon('fun1',rand(3,1),[],[],[],[],zeros(3,1),[], ... 'fun2', options)就可以求得当9478.0,2033.1,5522.0321===x x x 时,最小值6511.10=y 。
1.4 求解非线性规划的基本迭代格式 记(NP )的可行域为K 。
若K x ∈*,并且K x x f x f ∈∀≤),()(*则称*x 是(NP )的整体最优解,)(*x f 是(NP)的整体最优值。
如果有**,),()(x x K x x f x f ≠∈∀<则称*x 是(NP )的严格整体最优解,)(*x f 是(NP)的严格整体最优值。
若K x ∈*,并且存在*x 的邻域)(*x N δ,使K x N x x f x f I )(),()(**δ∈∀≤,则称*x 是(NP )的局部最优解,)(*x f 是(NP)的局部最优值。
如果有K x N x x f x f I )(),()(**δ∈∀<则称*x 是(NP )的严格局部最优解,)(*x f 是(NP)的严格局部最优值。
由于线性规划的目标函数为线性函数,可行域为凸集,因而求出的最优解就是整个可行域上的全局最优解。
非线性规划却不然,有时求出的某个解虽是一部分可行域上的极值点,但却并不一定是整个可行域上的全局最优解。
对于非线性规划模型(NP),可以采用迭代方法求它的最优解。
迭代方法的基本思想是:从一个选定的初始点nR x ∈0出发,按照某一特定的迭代规则产生一个点列}{k x ,使得当}{k x 是有穷点列时,其最后一个点是(NP)的最优解;当}{k x 是无穷点列时,它有极限点,并且其极限点是(NP)的最优解。
设n k R x ∈是某迭代方法的第k 轮迭代点,n k R x ∈+1是第1+k 轮迭代点,记k k k k p t x x+=+1(1)这里1,,1=∈∈knkk pR p R t ,并且k p 的方向是从点k x 向着点1+k x 的方向。
式(1)就是求解非线性规划模型(NP)的基本迭代格式。
-35-通常,我们把基本迭代格式(1)中的k p 称为第k 轮搜索方向,k t 为沿kp 方向的步长,使用迭代方法求解(NP)的关键在于,如何构造每一轮的搜索方向和确定适当的步长。
设0,≠∈p R x n,若存在0>δ,使 ),0(),()(δ∈∀<+t x f tp x f , 称向量p 是f 在点x 处的下降方向。
设0,≠∈p R x n ,若存在0>t ,使K tp x ∈+,称向量p 是点x 处关于K 的可行方向。
一个向量p ,若既是函数f 在点x 处的下降方向,又是该点关于区域K 的可行方向,称之为函数f 在点x 处关于K 的可行下降方向。
现在,我们给出用基本迭代格式(1)求解(NP)的一般步骤如下:0° 选取初始点0x ,令0:=k 。
1° 构造搜索方向,依照一定规划,构造f 在点kx 处关于K 的可行下降方向作为搜索方向kp 。
2° 寻求搜索步长。
以kx 为起点沿搜索方向kp 寻求适当的步长k t ,使目标函数值有某种意义的下降。
3° 求出下一个迭代点。
按迭代格式(1)求出k k k k p t x x +=+1。
若1+k x已满足某种终止条件,停止迭代。
4° 以1+k x 代替kx ,回到1°步。
1.5 凸函数、凸规划设)(x f 为定义在n 维欧氏空间)(n E中某个凸集R 上的函数,若对任何实数)10(<<αα以及R 中的任意两点)1(x 和)2(x ,恒有)()1()())1(()2()1()2()1(x f x f x x f αααα−+≤−+则称)(x f 为定义在R 上的凸函数。
若对每一个)10(<<αα和R x x ∈≠)2()1(恒有)()1()())1(()2()1()2()1(x f x f x x f αααα−+<−+ 则称)(x f 为定义在R 上的严格凸函数。
考虑非线性规划⎪⎩⎪⎨⎧=≤=∈},,2,1,0)(|{)( min l j x g x R x f j Rx L 假定其中)(x f 为凸函数,),,2,1)((l j x g j L =为凸函数,这样的非线性规划称为凸规划。
可以证明,凸规划的可行域为凸集,其局部最优解即为全局最优解,而且其最优解的集合形成一个凸集。
当凸规划的目标函数)(x f 为严格凸函数时,其最优解必定唯一(假定最优解存在)。
由此可见,凸规划是一类比较简单而又具有重要理论意义的非-36-线性规划。
§2 无约束问题2.1 一维搜索方法当用迭代法求函数的极小点时,常常用到一维搜索,即沿某一已知方向求目标函数的极小点。
一维搜索的方法很多,常用的有:(1)试探法(“成功—失败”,斐波那契法,0.618法等);(2)插值法(抛物线插值法,三次插值法等);(3)微积分中的求根法(切线法,二分法等)。
考虑一维极小化问题)(min t f bt a ≤≤ (2)若)(t f 是],[b a 区间上的下单峰函数,我们介绍通过不断地缩短],[b a 的长度,来搜索得(2)的近似最优解的两个方法。