约束最优化问题
- 格式:doc
- 大小:212.74 KB
- 文档页数:9
最优化问题的约束条件处理方法在最优化问题中,约束条件是限制优化目标的条件。
对于一个最优化问题而言,约束条件的处理是至关重要的,因为它直接影响到问题的可行解集合以及最终的优化结果。
本文将介绍几种常见的约束条件处理方法,以帮助读者更好地理解和应用最优化算法。
一、等式约束条件处理方法等式约束条件是指形如f(x) = 0的约束条件,其中f(x)是一个函数。
处理等式约束条件的常用方法是拉格朗日乘子法。
该方法通过引入拉格朗日乘子,将等式约束条件转化为目标函数的一部分,从而将原问题转化为无约束问题。
具体而言,我们可以构造拉格朗日函数:L(x,λ) = f(x) + λ·g(x)其中,g(x)表示等式约束条件f(x) = 0。
通过对拉格朗日函数求导,我们可以得到原问题的最优解。
需要注意的是,拉格朗日乘子法只能处理等式约束条件,对于不等式约束条件需要使用其他方法。
二、不等式约束条件处理方法不等式约束条件是指形如g(x) ≥ 0或g(x) ≤ 0的约束条件,其中g(x)是一个函数。
处理不等式约束条件的常用方法是罚函数法和投影法。
1. 罚函数法罚函数法通过将约束条件转化为目标函数的一部分,从而将原问题转化为无约束问题。
具体而言,我们可以构造罚函数:P(x) = f(x) + ρ·h(x)其中,h(x)表示不等式约束条件g(x) ≥ 0或g(x) ≤ 0。
通过调整罚函数中的惩罚系数ρ,可以使得罚函数逼近原问题的最优解。
罚函数法的优点是简单易实现,但需要注意选择合适的惩罚系数,以避免陷入局部最优解。
2. 投影法投影法是一种迭代算法,通过不断投影到可行域上来求解约束最优化问题。
具体而言,我们首先将原问题的可行域进行投影,得到一个近似可行解,然后利用该近似可行解来更新目标函数的取值,再次进行投影,直到收敛为止。
投影法的优点是能够处理各种类型的不等式约束条件,并且收敛性良好。
三、混合约束条件处理方法混合约束条件是指同时包含等式约束条件和不等式约束条件的问题。
在约束条件下的最优化问题是指在一定的限制条件下,寻找使目标函数达到最大或最小值的最优解。
这类问题可以通过数学建模和优化算法来解决。
常见的约束条件包括等式约束和不等式约束。
等式约束要求某些变量之间的关系满足特定的等式关系,而不等式约束则要求某些变量之间的关系满足特定的不等式关系。
数学上,约束条件可以表示为:
1. 等式约束:g(x) = 0,其中g(x)是一个关于变量x的函数。
2. 不等式约束:h(x) ≤0,其中h(x)是一个关于变量x的函数。
最优化问题的目标函数可以是线性的、非线性的,甚至是在某些特殊情况下可能是非凸的。
根据问题的具体形式,可以选择适合的优化算法进行求解,如线性规划、非线性规划、整数规划等。
常见的优化算法包括:
1. 梯度下降法:用于求解无约束或有约束的凸优化问题,在连续可导的情况下通过迭代调整参数来逐步接近最优解。
2. KKT条件法:用于求解有约束的凸优化问题,通过构建拉格朗日函数和KKT条件来确定最优解。
3. 内点法:用于求解线性规划和凸优化问题,通过在可行域内寻找目标函数的最优解。
4. 遗传算法:用于求解复杂的非线性优化问题,通过模拟自然进化过程中的选择、交叉和变异操作来搜索最优解。
5. 模拟退火算法:用于求解非线性优化问题,通过模拟固体退火的过程来逐步降低温度并接近最优解。
在实际应用中,约束条件下的最优化问题广泛应用于工程、经济、运筹学、物流等领域。
通过合理地建立数学模型,并选择合适的优化算法,可以有效地解决这类问题,并得到最优解或接近最优解的结果。
约束最优化方法
约束最优化方法是指通过给定约束条件,寻找目标函数的最优解。
以下是一些常用的约束最优化方法:
1. 拉格朗日乘子法:将约束最优化问题转化为无约束最优化问题,通过求解无约束最优化问题得到原问题的最优解。
2. 罚函数法:将约束条件转化为罚函数项,通过不断增加罚函数的权重,使目标函数逐渐逼近最优解。
3. 梯度下降法:通过迭代计算目标函数的梯度,沿着梯度的负方向搜索目标函数的最优解。
4. 牛顿法:通过迭代计算目标函数的Hessian矩阵,使用Hessian矩阵的逆矩阵乘以梯度向量来逼近最优解。
5. 遗传算法:模拟自然界的遗传机制,通过种群迭代的方式搜索最优解。
6. 模拟退火算法:模拟物理退火过程,通过随机搜索的方式搜索最优解。
7. 蚁群算法:模拟蚂蚁觅食行为,通过模拟蚂蚁的信息素传递过程来搜索最优解。
8. 粒子群算法:模拟鸟群、鱼群等群集行为,通过模拟粒子间的相互作用来搜索最优解。
这些方法各有优缺点,应根据具体问题选择合适的方法进行求解。
约束条件下的最优化问题约束条件下的最优化问题是数学和工程领域中的常见问题之一。
在这类问题中,我们需要找到一个满足一系列给定约束条件的最优解。
这类问题可以在多个领域中找到应用,包括经济学、物理学、工程学和计算机科学。
在解决约束条件下的最优化问题时,我们需要首先定义目标函数。
目标函数可以是一个需要最小化或最大化的数值指标。
我们需要确定约束条件,这些约束条件可能是等式或不等式。
约束条件反映了问题的实际限制,我们需要在满足这些限制的情况下找到最优解。
在解决这类问题时,一个常用的方法是使用拉格朗日乘子法。
这种方法基于拉格朗日函数的最优性条件,通过引入拉格朗日乘子来将约束条件融入目标函数中。
通过对拉格朗日函数进行求导,并解方程组可以找到满足约束条件的最优解。
在实践中,约束条件下的最优化问题可能会面临多个挑战。
问题的约束条件可能会很复杂,涉及多个变量和多个限制。
解决这些问题需要使用不同的数学工具和技巧。
问题的目标函数可能是非线性的,这使得求解过程更加复杂。
有时候问题可能会存在多个局部最优解,而不是一个全局最优解。
这就需要使用适当的算法来寻找全局最优解。
解决约束条件下的最优化问题有着重要的理论和实际价值。
在理论上,它为我们提供了了解优化问题的深入洞察和数学分析的机会。
在应用上,它可以帮助我们在现实世界中优化资源分配、最大化利润、降低成本等。
在工程领域中,我们可以使用最优化方法来设计高效的电路、最小化材料使用或最大化系统性能。
在总结上述讨论时,约束条件下的最优化问题是在特定约束条件下寻找最优解的问题。
通过使用拉格朗日乘子法和其他数学工具,我们可以解决这些问题并找到最优解。
尽管这类问题可能会面临一些挑战,但解决这些问题具有重要的理论和实际应用。
通过深入研究和理解约束条件下的最优化问题,我们可以在不同领域中做出更优化的决策,实现更有效的资源利用和更优秀的结果。
参考文献:1. Nocedal, J., & Wright, S. J. (2006). Numerical optimization. Springer Science & Business Media.2. Boyd, S., & Vandenberghe, L. (2004). Convex optimization. Cambridge university press.3. Bazaraa, M. S., Sherali, H. D., & Shetty, C. M. (2013). Nonlinear programming: theory and algorithms. John Wiley & Sons.个人观点和理解:约束条件下的最优化问题在现实生活中起着重要的作用。
不等式约束的最优化问题1. 引言不等式约束的最优化问题是数学领域中一类常见且重要的问题。
在实际生活和工程应用中,很多问题都可以转化为最优化问题,其中包含了一些约束条件,这些约束条件可以用不等式的形式表示。
本文将从理论和应用两个方面综合讨论不等式约束的最优化问题。
2. 理论基础2.1 最优化问题的定义最优化问题是指在满足一定的约束条件下,寻找使得目标函数取得最大(或最小)值的变量取值。
最优化问题可以分为有约束和无约束两种情况,本文主要讨论带有不等式约束的最优化问题。
2.2 拉格朗日乘子法拉格朗日乘子法是解决带有等式约束的最优化问题的重要方法,然而对于带有不等式约束的问题,拉格朗日乘子法并不适用。
取而代之的是KKT条件,即Karush–Kuhn–Tucker条件。
2.3 KKT条件KKT条件是带有不等式约束的最优化问题的解的必要条件。
KKT条件包括了原问题的约束条件和原问题的一阶和二阶必要条件。
利用KKT条件,可以将不等式约束的最优化问题转化为无约束最优化问题,从而求解出问题的最优解。
3. 解决方法3.1 梯度下降法梯度下降法是一种常用的优化算法,可以用于求解无约束和有约束的最优化问题。
对于带有不等式约束的问题,可以通过将约束条件变形为罚函数的形式,从而将其转化为无约束的问题。
梯度下降法的基本思想是根据目标函数的梯度信息不断迭代更新变量的取值,使得目标函数逐渐趋近于最优解。
3.2 内点法内点法是求解带有不等式约束的最优化问题的一种高效算法。
内点法的基本思想是通过不断向可行域的内部靠近,逐渐找到问题的最优解。
内点法具有较好的收敛性和稳定性,在实际应用中使用较为广泛。
3.3 割平面法割平面法是一种用于求解带有不等式约束的整数优化问题的有效方法。
割平面法的主要思想是通过逐步添加割平面,将原问题分解为一系列子问题,利用线性规划算法求解。
割平面法可以有效地提高整数规划问题的求解效率。
4. 应用领域4.1 金融领域在金融领域中,不等式约束的最优化问题被广泛应用于投资组合优化、风险管理等方面。
第八章 约束最优化方法无约束优化方法是优化方法中最基本最核心的部分。
但是,在工程实际中,优化问题大都是属于有约束的优化问题,即其设计变量的取值要受到一定的限制,用于求解约束优化问题最优解的方法称为约束最优化方法。
由于约束最优化问题的复杂性,无论是在理论方面的研究,还是实际中的应用都有很大的难度。
目前关于一般的约束最优化问题还没有一种普遍有效的算法。
本书重点介绍几种常用的算法,力求使读者对这类问题的求解思路有一个了解。
8.1 约束优化方法概述一、约束优化问题的类型根据约束条件类型的不同可以分为三种,其数学模型分别如下: 1)等式约束优化问题 考虑问题l1,2,...,j x h t s x f j ==0)(..)(min其中,l 1,2,...,j x h x f j =),(),(为R R n→上的函数。
记为)(fh 问题。
2)不等式约束优化问题 考虑问题m1,2,...,i x g t s x f i =≤0)(..)(min其中,m 1,2,...,i x g x f i =),(),(为R R n→上的函数。
记为)(fg 问题。
3)一般约束优化问题()()()⎩⎨⎧===≤l ,1,2,j x h m ,1,2,i x g t s x f j i L L 00..min其中,l 1,2,...,j m i x h x g x f j i ==;,2,1),(),(),(L 为R R n→上的函数。
记为)(fgh 问题。
二、约束优化方法的分类约束优化方法按求解原理的不同可以分为直接法和间接法两类。
1)直接法只能求解不等式约束优化问题的最优解。
其根本做法是在约束条件所限制的可行域内直接求解目标函数的最优解。
如:约束坐标轮换法、复合形法等。
其基本要点:选取初始点、确定搜索方向及适当步长。
搜索原则:每次产生的迭代点必须满足可行性与适用性两个条件。
可行性:迭代点必须在约束条件所限制的可行域内,即满足m i x g i ,...,2,1,0)(=≤适用性:当前迭代点的目标函数值较前一点的目标函数值是下降的,即满足)()()()1(k k x F x F <+2)间接法该方法可以求解不等式约束优化问题、等式约束优化问题和一般约束优化问题。
第10章具有约束方程的最优化10.1基本约束优化问题10.2 一阶必要条件10.3二阶充分条件10.4最优解的比较静态分析10.5 Lagrange 乘子的数学含义10.6目标函数最优值的比较静态分析10.1基本约束优化问题般标准的极大化问题:max f (人,乂2,川,乂" 或者:max f (x)s.tg(X1,X2,ill,X n)乞b j s.t g(x)乞bh j(X1,X2」li,X n)二a i h(x)工a一般标准的极小化问题:min f (石公2」||风) 或者:min f (x) s.tg(X1,X2」ll,X n) - b j s.t g(x) - bh j(X1,X2,lli,X n)二a i h(x)二a10.2+10.3 :—阶必要条件和二阶充分条件1、等式约束优化问题(1 )两个变量一个等式约束的情形极大化问题:max f (x, y)s.t h(x, y) = c例:消费者的效用最大化问题maxU (x1, x2)s.t p/ + p2x2= I构造拉格朗日函数:L(x, y,)二f (x,y)- [h(x, y)- c] 二f (x, y) [c- h(x, y)]一阶必要条件:c- h(x,y)二0L x = f x - h x = 0L y 二f y - h y= 0注:通过将L视为三个选择变量的自由函数,将约束优化转化为了无约束优化。
拉格朗日乘数的解释:*是Z*(最优值)对约束变化敏感性的度量。
特别的,c增加(预算增加)的影响表明约束条件的放宽如何影响最优解。
设:根据一阶必要条件得到的最优解为*,X*,y*,贝,*,x*, y*满足:L = c _ h(x*, y*)二0L x = f x(x*, y*r * h x(x*, y*)二0L厂f y(x*, y*) - *h y(x*, y*) = 0最优值为:L* 二f (x*, y*) *[ c- h(x*, y*)]由三个必要条件,可以确定:X* = x*( c), y*二y*(c)因此,L*对c的导数:dL * dx * dy * d *丁二f xL f y-^ ux *y, *-)+dc dc dc dcJi 一hx^-h y 竽)dc dc= (f x- *h x)乎(f y- *h y)d y* dc dc弘*[c- h(x*, y*)] *dc=■ *结论:拉格朗日乘数的解值是由参数c引起的约束条件变化对目标函数最优值影响的度量。
不等式约束的最优化问题在实际生产和生活中,我们常常会遇到需要确定某种目标的最优解决方案的情况,例如,最小成本、最大利润、最长飞行时间等等。
这种针对某种优化目标的问题就是最优化问题。
当我们考虑最优化问题的时候,通常需要考虑约束条件。
约束条件即限制性条件,它将问题的解空间控制在一定范围之内,使得问题更贴近实际情况。
在最优化问题中,不等式约束是最常见的一种约束条件。
本文将从不等式约束的特点、最小二乘法和KKT条件三个方面进行阐述。
不等式约束的特点在一个包含n个变量的最优化问题中,不等式约束可以表示为:G(x) ≤ 0其中,G(x)是一个n维函数向量,称为约束函数。
它是一组由不等式构成的系统,它将限制x取值范围的空间控制在G(x)≤0的区域中。
而且,不等式约束通常在解的边界上成立。
对于不等式约束的优化问题,我们通常需要利用各种算法求解。
最小二乘法最小二乘法是一种常用的数学方法,用于寻找某一函数的最佳拟合曲线。
它通常被用于估计数据中存在误差的线性回归模型中。
同时,它也被广泛地用于优化问题中。
在解决最小二乘法问题时,我们可以使用拉格朗日乘子法,显式地添加一个不等式约束。
通过这种方式,我们可以得到方程组的解,从而得到最优解。
KKT条件在解不等式约束的最优化问题时,KKT条件是一个非常关键的思想。
KKT条件是Karush-Kuhn-Tucker条件的缩写,它是用来描述一类非线性规划问题的必要条件。
这些条件是可行性、拉格朗日对偶、互补松弛和非负性约束等方面的约束。
在不等式约束的最优化问题中,KKT条件是非常重要的,因为它们可以帮助我们建立一个完整的解题框架,并确保我们能够得到正确的结果。
它可以帮助我们确定合理的约束条件,并确保我们的优化方案具有最优性。
结论在实际生产和生活中,不等式约束的最优化问题是非常常见的。
通过使用最小二乘法和KKT条件,我们可以解决这些问题,从而得到具有最优性的解决方案。
同时,了解不等式约束的特点也是非常重要的,它可以帮助我们设计出可行的优化方案,并确保我们的方案具有最优性和可行性。
约束最优化问题一实习目的1.熟练掌握科学与工程计算中常用的基本算法;2.掌握分析问题,设计算法的能力;3.掌握模块化程序设计的基本思想,注重模块的“高内聚,低耦合”;4.采用自顶向下,逐步细化的编程思想完成程序书写;5.牢固建立“清晰第一,效率第二”的软件设计观念;6.掌握软件调试,测试的基本技能和方法;7.提高科技报告的书写质量;8.在掌握无约束最优化问题求解方法的前提下,对一般情形下的约束最优化问题进行研究,通过实习掌握外点罚函数法、内点罚函数法、乘子法、线性近似规划法和序列二次规划法在求解一般情形下的约束最优化问题的应用。
二问题定义及题目分析问题1:要求用外点罚函数法和内点罚函数法解决约束问题:Min f(x)=错误!未找到引用源。
s.t. 错误!未找到引用源。
错误!未找到引用源。
错误!未找到引用源。
问题2:要求用乘子法解决约束问题:Min 错误!未找到引用源。
s.t. 错误!未找到引用源。
错误!未找到引用源。
(错误!未找到引用源。
)问题3:要求用线性近似规划法和序列二次规划法解决约束问题:Min 错误!未找到引用源。
s.t. 错误!未找到引用源。
错误!未找到引用源。
错误!未找到引用源。
错误!未找到引用源。
三程序概要设计1.外点罚函数法Step1. 给定初始点错误!未找到引用源。
,罚参数序列{错误!未找到引用源。
}(常取错误!未找到引用源。
),精度错误!未找到引用源。
,并令k=0;Step2. 构造增广目标函数错误!未找到引用源。
;Step3. 求解无约束优化问题min 错误!未找到引用源。
,x错误!未找到引用源。
,其解记为错误!未找到引用源。
;Step4. (终止准则:惩罚项充分小,或等价地错误!未找到引用源。
近似可行)若错误!未找到引用源。
,或者错误!未找到引用源。
,错误!未找到引用源。
,则得解错误!未找到引用源。
,否则令k=k+1,转 Step2.2.内点罚函数法:Step1. 给定初始可行解错误!未找到引用源。
,罚参数序列{错误!未找到引用源。
}(常取错误!未找到引用源。
),精度错误!未找到引用源。
,并令k=0;Step2. 构造增广目标函数错误!未找到引用源。
;Step3. 求解无约束优化问题min 错误!未找到引用源。
,x错误!未找到引用源。
,其解记为错误!未找到引用源。
;Step4. (终止准则)若错误!未找到引用源。
,则得解错误!未找到引用源。
,否则令k=k+1,转 Step2.3.乘子法:Step1. 给定初始点错误!未找到引用源。
,初始lagrange乘子错误!未找到引用源。
,i错误!未找到引用源。
罚参数序列{错误!未找到引用源。
},精度错误!未找到引用源。
,并令k=0;Step2. 构造增广目标函数错误!未找到引用源。
Step3. 求解无约束优化问题min 错误!未找到引用源。
,x错误!未找到引用源。
,其解记为错误!未找到引用源。
;Step4. (终止准则)若错误!未找到引用源。
,则得解错误!未找到引用源。
,否则令K=k+1,转Step2.4.线性近似规划法:Step1. 给定初始点错误!未找到引用源。
,步长限制错误!未找到引用源。
,缩小系数错误!未找到引用源。
精度错误!未找到引用源。
,并令k=0;Step2. 求解线性规划问题:min 错误!未找到引用源。
S.t. 错误!未找到引用源。
错误!未找到引用源。
错误!未找到引用源。
其解记为错误!未找到引用源。
.Step3. 若错误!未找到引用源。
是约束优化问题的可行解,则令错误!未找到引用源。
,转Step4;否则,取错误!未找到引用源。
j=1,...,n,转Step2;Step4. (终止准则)若错误!未找到引用源。
,且满足错误!未找到引用源。
,或者若错误!未找到引用源。
,则得问题的近似解错误!未找到引用源。
;否则令错误!未找到引用源。
,k=k+1,转Step2。
5.序列二次规划法:Step1. 给定初始点错误!未找到引用源。
,令k=0;Step2. 若错误!未找到引用源。
满足约束问题的k-T条件,停止计算,得到解错误!未找到引用源。
;否则,转Step3;Step3. 解二次规划问题 min 错误!未找到引用源。
s.t. 错误!未找到引用源。
错误!未找到引用源。
得解错误!未找到引用源。
;Step4. 令错误!未找到引用源。
,转Step2.四实验结果第一题运行结果为:x=(1,0)第二题运行结果为:x=(1,1)第三题运行结果为:x=(2,2)五结果分析及总结经过理论运算,程序所得结果与理论值相同。
通过这次实习,了解了非线性约束条件下最优化问题的几种求解方法:罚函数法,乘子法和线性近似规划法。
了解了不同方法之间的优点和不足,如外点罚函数法不能保证运算过程中的点在可行域内,但是对初始条件要求不高等。
六源代码1,2,3题通用函数:function [x,minf] = minNT(f,x0,var,eps)format long;if nargin == 3eps = 1.0e-6;endtol = 1;x0 = transpose(x0);gradf = jacobian(f,var);jacf = jacobian(gradf,var);while tol>epsv = Funval(gradf,var,x0);tol = norm(v);pv = Funval(jacf,var,x0);p = -inv(pv)*transpose(v);p = double(p);x1 = x0 + p;x0 = x1;endx = x1;minf = Funval(f,var,x);format short;function endfunction fv = Funval(f,varvec,varval)var = findsym(f);varc = findsym(varvec);s1 = length(var);s2 = length(varc);m =floor((s1-1)/3+1);varv = zeros(1,m);if s1 ~= s2for i=0: ((s1-1)/3)k = findstr(varc,var(3*i+1));index = (k-1)/3;varv(i+1) = varval(index+1);endfv = subs(f,var,varv);elsefv = subs(f,varvec,varval);endfunction end第一题:function [x,minf] = minConPF(f,x0,g,h,c1,p,var,eps) format long;if nargin == 7eps = 1.0e-6;endk = 0;FE = 0;for i=1:length(h)FE = FE + (h(i))^2;endx1 = transpose(x0);x2 = inf;while 1M = c1*p;FF = M*FE;gx = Funval(g,var,x1);gF = 0;for i=1:length(g)if gx(i)<0gF = gF+M*(g(i)^2);endendSumF = f + FF + gF;[x2,minf] = minNT(SumF,transpose(x1),var);if norm(x2 - x1)<=epsx = x2;break;elsec1 = M;x1 = x2;endendminf = Funval(f,var,x);format short;第二题:function [x,minf] = minFactor(f,x0,g,h,v,M,alpha,gama,var,eps) format long;if nargin == 9eps = 1.0e-4;endFE = 0;for i=1:length(h)FE = h(i)^2;endx1 = transpose(x0);x2 = inf;while 1FF = M*FE;Fh = v*h;gF=0;gx = Funval(g,var,x1);for i=1:length(g)if gx(i)>0if gx(i)<v(i)/MgF=gF-v(i)*g(i)+M*(g(i)^2);elsegF=gF-(v(i)^2)/M;endendendSumF = f + FF - Fh + gF;[x2,minf] = minNT(SumF,transpose(x1),var);Hx2 = Funval(h,var,x2);Hx1 = Funval(h,var,x1);if norm(Hx2) < epsx = x2;break;elseif Hx2/Hx1 >= gamaM = alpha*M;x1 = x2;elsev = v - M*transpose(Hx2);x1 = x2;endendendminf = Funval(f,var,x);format short;第三题:function [x,minf] = minXXJS(f,g,X,alpha,sita,gama,beta,var,eps) if nargin == 8eps =1.0e-4;endN=size(X);n=N(2);FX=zeros(1,n);while 1for i=1:nFX(i)=Funval(f,var,X(:,i));end[XS,IX]=sort(FX);Xsorted=X(:,IX);px=sum(Xsorted(:,1:(n-1)),2)/(n-1);Fpx=Funval(f,var,px);SumF=0;for i=1:nSumF=SumF+(FX(IX(i))-Fpx)^2;endSumF=sqrt(SumF/n);if SumF<=epsx=Xsorted(:,1);break;elsebcon_1=1;cof_alpha=alpha;while bcon_1x2=px+cof_alpha*(px-Xsorted(:,n)); gx2=Funval(g,var,x2);if min(gx2)>=0bcon_1=0;elsecof_alpha=sqrt(cof_alpha);endendfx2=Funval(f,var,x2);if fx2<XS(1)cof_gama=gama;bcon_2=1;while bcon_2x3=px+cof_gama*(x2-px);gx3=Funval(g,var,x3);if min(gx3)>=0bcon_2=0;elsecof_gama=sqrt(cof_gama); endendfx3=Funval(f,var,x3);if fx3<XS(1)Xsorted(:,n)=x3;X=Xsorted;continue;elseXsorted(:,n)=x2;X=Xsorted;continue;endelseif fx2<XS(n-1)Xsorted(:,n)=x2;X=Xsorted;continue;elseif fx2<XS(n)Xsorted(:,n)=x2;endcof_beta=beta;bcon_3=1;while bcon_3x4=px+cof_beta*(Xsorted(:,n)-px);gx4=Funval(g,var,x4);if min(gx4)>=0bcon_3=0;elsecof_beta=cof_beta/2;endendfx4=Funval(f,var,x4);FNnew=Funval(f,var,Xsorted(:,n));if fx4<FNnewXsorted(:,n)=x4;X=Xsorted;continue;elsex0=Xsorted(:,1);for i=1:nXsorted(:,i)=x0+sita*(Xsorted(:,i)-x0); endendendendendX=Xsorted;endminf=Funval(f,var,x);。