美文网首页
scipy求解无约束非线性规划例子

scipy求解无约束非线性规划例子

作者: 一路向后 | 来源:发表于2021-06-01 22:12 被阅读0次

1.求解目标

\quad min\quad f(x)\ =\ e^{-x^2} \times\ sin(6x)

2.源码实现

import math
from scipy.optimize import minimize
import numpy as np

# 定义优化函数
def func(args):
        a = args
        v = lambda x : math.exp(-x[0]**2) * math.sin(a*x[0])
        return v

# 定义变量取值范围: ineq为大于等于0
def con(args):
        min = args
        cons = ({'type': 'ineq', 'fun': lambda x: x[0] - min})
        return cons


args = 6

x = np.array(1);
cons = con(0)

res = minimize(func(args), x, method='SLSQP', constraints=cons)

if res.success == True:
        print(res.x)
        print(res.fun)

3.运行及其结果

$ python3 example.py
[ 0.74471414]
-0.5572767876175884

相关文章

网友评论

      本文标题:scipy求解无约束非线性规划例子

      本文链接:https://www.haomeiwen.com/subject/lbigsltx.html