关于移动渐近线优化算法(MMA)的程序说明

1,f0val为目标函数灵敏度值,为一列向量,fval为约束函数灵敏度,为一行向量。
2,单约束问题。


This function mmasub performs one MMA-iteration, aimed at % solving the nonlinear programming problem: % % Minimize f_0(x) + a_0*z + sum( c_i*y_i + 0.5*d_i*(y_i)^2 ) % subject to f_i(x) - a_i*z - y_i <= 0, i = 1,...,m % xmin_j <= x_j = 0, y_i >= 0, i = 1,...,m %*** INPUT: % % m = The number of general constraints. % n = The number of variables x_j. % iter = Current iteration number ( =1 the first time mmasub is called). % xval = Column vector with the current values of the variables x_j. % xmin = Column vector with the lower bounds for the variables x_j. % xmax = Column vector with the upper bounds for the variables x_j. % xold1 = xval, one iteration ago (provided that iter>1). % xold2 = xval, two iterations ago (provided that iter>2). % f0val = The value of the objective function f_0 at xval. % df0dx = Column vector with the derivatives of the objective function % f_0 with respect to the variables x_j, calculated at xval. % df0dx2 = Column vector with the non-mixed second derivatives of the % objective function f_0 with respect to the variables x_j, % calculated at xval. df0dx2(j) = the second derivative % of f_0 with respect to x_j (twice). % Important note: If second derivatives are not available, % simply let df0dx2 = 0*df0dx. % fval = Column vector with the values of the constraint functions f_i, % calculated at xval. % dfdx = (m x n)-matrix with the derivatives of the constraint functions % f_i with respect to the variables x_j, calculated at xval. % dfdx(i,j) = the derivative of f_i with respect to x_j. % dfdx2 = (m x n)-matrix with the non-mixed second derivatives of the % constraint functions f_i with respect to the variables x_j, % calculated at xval. dfdx2(i,j) = the second derivative % of f_i with respect to x_j (twice). %
Description of the algorithms used in the implementations of MMA and GCMMA in Matlab. Files for both MMA and GCMMA: ============================ subsolv.m kktcheck.m toy1.m toy2.m subsolv.m ========= The function subsolv.m makes an attempt to solve either the MMA subproblem generated by mmasub.m, or the GCMMA subproblem generated by gcmmasub.m. A straight-forward primal-dual interior-point method is used. kktcheck.m ========== The function kktcheck.m calculates the left hand sides of the KKT conditions for the optimization problem defined by the user. toy1.m and toy2.m ================= Define, together with mmatoyinit.m or gctoyinit.m, the users problem. ---------------------------------------------------------------- Files for MMA only: ================== mmasub.m mmatoymain.m mmatoyinit.m mmatoyresults mmasub.m ======== The function mmasub.m generates the MMA subproblem for the current iteration, and calls the function subsolv.m mmatoymain.m ============ The file mmatoymain.m makes an attempt to solve the users optimization problem which is defined by the files mmatoyinit.m and toy2.m. In each MMA iteration, mmatoymain.m calls toy2.m and mmasub.m. ---------------------------------------------------------------- Files for GCMMA only: ==================== gcmmasub.m asymp.m concheck.m raaupdate.m gctoymain.m gctoyinit.m gctoyresults gcmmasub.m ========== The function gcmmasub.m generates the GCMMA subproblem for the current outer/inner iteration, and calls the function subsolv.m. asymp.m =========== The function asymp.m calculates values on the parameters raa0, raa, low and upp in the beginning of each outer GCMMA iteration. concheck.m =========== The function concheck.m checks if the current GCMMA approximations are sufficiently conservative. raaupdate.m =========== The function raaupdate.m updates the parameters raa0 and raa in each inner iteration. gctoymain.m =========== The file gctoymain.m makes an attempt to solve the users optimization pr
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值