优化问题与最优控制问题的求解方法
1. 非线性规划中的约束优化问题求解
1.1 Python 中使用 minimize 函数求解约束最小化问题
在 Python 里,可运用 scipy.optimize 库中的 minimize 函数来解决约束最小化问题。该函数接收目标函数、初始起点以及优化过程的选项,最终返回最优解和最优解处目标函数的值。
示例 10.6
以下是使用 MinEx1Withminimize.py 脚本解决示例 10.6 的代码:
# MinEx1Withminimize
import numpy as np
from scipy.optimize import minimize
def objfun(x):
return x[0]*x[3]*(x[0]+x[1]+x[2])+x[2]
def ic(x):
return x[0]*x[1]*x[2]*x[3]-25.0
def ec(x):
return 40.0 - sum(x*x)
x0 = np.array([1., 5., 5., 1.])
cons = [{'type': 'ineq', 'fun': ic}, {'type': 'eq', 'fun': ec}]
lubs = [(1.0, 5.0), (1.0, 5.0), (1.0, 5.0), (1.0, 5.0)]
Sol = minimize(objfun,x0, method='SLS
超级会员免费看
订阅专栏 解锁全文
4182

被折叠的 条评论
为什么被折叠?



