diff options
Diffstat (limited to 'nlp/demo.py')
| -rw-r--r-- | nlp/demo.py | 31 |
1 files changed, 31 insertions, 0 deletions
diff --git a/nlp/demo.py b/nlp/demo.py new file mode 100644 index 0000000..9eb7154 --- /dev/null +++ b/nlp/demo.py @@ -0,0 +1,31 @@ +from scipy.optimize import minimize, LinearConstraint +import numpy as np + + +def test1(): + fun = lambda x: x**2 + 2*x - 3 + x0 = 1 + res = minimize(fun, [x0], bounds=[[0, None]], ) + print(res) + + +def test2(): + fun = lambda x: (x[0]-2)**2 + 4*(x[1]-1)**2 + x0 = [0, 0] + cons = ({'type': 'ineq', 'fun': lambda x: 2 - x[0] - 2*x[1]}) + res = minimize(fun, np.asarray(x0), + method='slsqp', + constraints=cons, options={'disp': True}) + print(res) + + +def test3(): + fun = lambda x: -x[0]**2*x[1] + x0 = np.asarray([0, 0]) + cons = ({'type': 'eq', 'fun': lambda x: x[0]**2+x[1]**2-1}) + res = minimize(fun, x0, constraints=cons, options={'disp': True}) + print(res) + + +if __name__ == '__main__': + test3() |
