SciPy (เดธเดพเดฏเดฟ เดชเต เดเดจเตเดจเต เดเดเตเดเดฐเดฟเดเตเดเตเดจเตเดจเดคเต) เดธเดฟ, เดซเตเตผเดเตเดฐเดพเตป เดฒเตเดฌเตเดฐเดฑเดฟเดเดณเตเด เดเตพเดชเตเดชเตเดเตเดจเตเดจ เดเดฐเต เดจเดฎเตเดชเดฟ เด เดเดฟเดธเตเดฅเดพเดจเดฎเดพเดเตเดเดฟเดฏเตเดณเตเดณ เดฎเดพเดคเตเดคเดฎเดพเดฑเตเดฑเดฟเดเตเดธเต เดชเดพเดเตเดเตเดเดพเดฃเต. SciPy เดจเดฟเดเตเดเดณเตเดเต เดธเดเดตเตเดฆเดจเดพเดคเตเดฎเด เดชเตเดคเตเดคเตบ เดธเตเดทเดจเต MATLAB, IDL, Octave, R เด เดฒเตเดฒเตเดเตเดเดฟเตฝ SciLab เดชเตเดฒเตเดฏเตเดณเตเดณ เดเดฐเต เดธเดฎเตเดชเตเตผเดฃเตเดฃ เดกเดพเดฑเตเดฑเดพ เดธเดฏเตปเดธเต เดชเดฐเดฟเดคเดธเตเดฅเดฟเดคเดฟเดฏเดพเดเตเดเดฟ เดฎเดพเดฑเตเดฑเตเดจเตเดจเต.
เด เดฒเตเดเดจเดคเตเดคเดฟเตฝ, เดเดฃเดฟเดค เดชเตเดฐเตเดเตเดฐเดพเดฎเดฟเดเดเดฟเดจเตเดฑเต เด
เดเดฟเดธเตเดฅเดพเดจ เดธเดพเดเตเดเตเดคเดฟเด เดตเดฟเดฆเตเดฏเดเตพ เดเดเตเดเตพ เดชเดฐเดฟเดถเตเดงเดฟเดเตเดเตเด - scipy.optimize เดชเดพเดเตเดเตเดเต เดเดชเดฏเตเดเดฟเดเตเดเต เดจเดฟเดฐเดตเดงเดฟ เดตเตเดฐเดฟเดฏเดฌเดฟเดณเตเดเดณเตเดเต เดธเตเดเตเดฏเดฟเดฒเตผ เดซเดเดเตเดทเดจเตเดณเตเดณ เดธเตเดชเดพเดงเดฟเด เดเดชเตเดฑเตเดฑเดฟเดฎเตเดธเตเดทเตป เดชเตเดฐเดถเตเดจเดเตเดเตพ เดชเดฐเดฟเดนเดฐเดฟเดเตเดเตเดจเตเดจเต. เดจเดฟเดฏเดจเตเดคเตเดฐเดฃเดฎเดฟเดฒเตเดฒเดพเดคเตเดค เดเดชเตเดฑเตเดฑเดฟเดฎเตเดธเตเดทเตป เด
เตฝเดเตเดฐเดฟเดคเดเตเดเตพ เดเดคเดฟเดจเดเด เดเตผเดเตเด เดเตเดฏเตเดคเดฟเดเตเดเตเดฃเตเดเต
เดเดฎเตเดเด
scipy.optimize เดชเดพเดเตเดเตเดเดฟเดฒเต เดธเตเดชเดพเดงเดฟเดเดตเตเด เดจเดฟเดฏเดจเตเดคเตเดฐเดฃเดฎเดฟเดฒเตเดฒเดพเดคเตเดคเดคเตเดฎเดพเดฏ เดเดชเตเดฑเตเดฑเดฟเดฎเตเดธเตเดทเตป เดชเตเดฐเดถเตเดจเดเตเดเตพ เดชเดฐเดฟเดนเดฐเดฟเดเตเดเตเดจเตเดจเดคเดฟเดจเตเดณเตเดณ เดเดฐเต เดชเตเดคเต เดเดจเตเดฑเตผเดซเตเดธเต เดซเดเดเตเดทเตป เดจเตฝเดเตเดจเตเดจเต. minimize()
. เดเดจเตเดจเดฟเดฐเตเดจเตเดจเดพเดฒเตเด, เดเดฒเตเดฒเดพ เดชเตเดฐเดถเตเดจเดเตเดเดณเตเด เดชเดฐเดฟเดนเดฐเดฟเดเตเดเตเดจเตเดจเดคเดฟเดจเต เดธเดพเตผเดตเดคเตเดฐเดฟเด เดฐเตเดคเดฟเดเดณเตเดจเตเดจเตเดฎเดฟเดฒเตเดฒเตเดจเตเดจเต เด
เดฑเดฟเดฏเดพเด, เด
เดคเดฟเดจเดพเตฝ เดฎเดคเดฟเดฏเดพเดฏ เดฐเตเดคเดฟ เดคเดฟเดฐเดเตเดเตเดเตเดเตเดเตเดจเตเดจเดคเต เดเดฒเตเดฒเดพเดฏเตเดชเตเดชเตเดดเตเด เดเดจเตเดจเดชเตเดฒเต เดเดตเตเดทเดเดจเตเดฑเต เดเตเดฎเดฒเดฟเตฝ เดชเดคเดฟเดเตเดเตเดจเตเดจเต.
เดซเดเดเตเดทเตป เดเตผเดเตเดฏเตเดฎเตเดจเตเดฑเต เดเดชเดฏเตเดเดฟเดเตเดเต เดเดเดฟเดคเดฎเดพเดฏ เดเดชเตเดฑเตเดฑเดฟเดฎเตเดธเตเดทเตป เด
เตฝเดเตเดฐเดฟเดคเด เดตเตเดฏเดเตเดคเดฎเดพเดเตเดเดฟเดฏเดฟเดฐเดฟเดเตเดเตเดจเตเดจเต minimize(..., method="")
.
เดจเดฟเดฐเดตเดงเดฟ เดตเตเดฐเดฟเดฏเดฌเดฟเดณเตเดเดณเตเดเต เดเดฐเต เดซเดเดเตโเดทเดจเตเดฑเต เดธเตเดชเดพเดงเดฟเด เดเดชเตเดฑเตเดฑเดฟเดฎเตเดธเตเดทเดจเดพเดฏเดฟ, เดเดจเดฟเดชเตเดชเดฑเดฏเตเดจเตเดจ เดฐเตเดคเดฟเดเดณเตเดเต เดจเดเดชเตเดชเดพเดเตเดเดฒเตเดเตพ เดฒเดญเตเดฏเดฎเดพเดฃเต:
trust-constr
- เดเตเตบเดซเดฟเดกเตปเดธเต เดฎเตเดเดฒเดฏเดฟเตฝ เดเดฐเต เดชเตเดฐเดพเดฆเตเดถเดฟเด เดฎเดฟเดจเดฟเดฎเด เดคเดฟเดฐเดฏเตเด.เดตเดฟเดเตเดเดฟ เดฒเตเดเดจเด ,เดนเดฌเตเดฐเตเดฏเตเดเตเดเตเดฑเดฟเดเตเดเตเดณเตเดณ เดฒเตเดเดจเด ;SLSQP
- เดจเดฟเดฏเดจเตเดคเตเดฐเดฃเดเตเดเดณเตเดณเตเดณ เดธเตเดเตเดตเตปเดทเตเดฏเตฝ เดเตเดตเดพเดกเตเดฐเดพเดฑเตเดฑเดฟเดเต เดชเตเดฐเตเดเตเดฐเดพเดฎเดฟเดเดเต, เดฒเดเตเดฐเดพเดเตเดเต เดธเดฟเดธเตเดฑเตเดฑเด เดชเดฐเดฟเดนเดฐเดฟเดเตเดเตเดจเตเดจเดคเดฟเดจเตเดณเตเดณ เดจเตเดฏเตเดเตเดเตเดฃเดฟเดฏเตป เดฐเตเดคเดฟ.เดตเดฟเดเตเดเดฟ เดฒเตเดเดจเด .TNC
- เดตเตเดเตเดเดฟเดเตเดเตเดฐเตเดเตเดเดฟเดฏ เดจเตเดฏเตเดเตเดเตบ เดเตบเดธเตเดเตเดฐเตเดฏเดฟเตปเดกเต, เดชเดฐเดฟเดฎเดฟเดคเดฎเดพเดฏ เดเดฃเตเดฃเด เดเดตเตผเดคเตเดคเดจเดเตเดเตพ, เดงเดพเดฐเดพเดณเด เดธเตเดตเดคเดจเตเดคเตเดฐ เดตเตเดฐเดฟเดฏเดฌเดฟเดณเตเดเดณเตเดณเตเดณ เดจเตเตบเดฒเตเดจเดฟเดฏเตผ เดซเดเดเตเดทเดจเตเดเตพเดเตเดเต เดจเดฒเตเดฒเดคเดพเดฃเต.เดตเดฟเดเตเดเดฟ เดฒเตเดเดจเด .L-BFGS-B
- เดฌเตเดฐเตเดฏเตเดกเตป-เดซเตเดฒเตเดเตเดเตผ-เดเตเตพเดกเตเดซเดพเตผเดฌเต-เดทเดพเดจเต เดเตเดฎเดฟเตฝ เดจเดฟเดจเตเดจเตเดณเตเดณ เดเดฐเต เดฐเตเดคเดฟ, เดนเตเดธเตเดธเดฟเดฏเตป เดฎเดพเดเตเดฐเดฟเดเตเดธเดฟเตฝ เดจเดฟเดจเตเดจเตเดณเตเดณ เดตเตเดเตเดฑเตเดฑเดฑเตเดเตพ เดญเดพเดเดฟเดเดฎเดพเดฏเดฟ เดฒเตเดกเตเดเตเดฏเตเดฏเตเดจเตเดจเดคเต เดเดพเดฐเดฃเด เดฎเตเดฎเตเดฎเดฑเดฟ เดเดชเดญเตเดเด เดเตเดฑเดเตเดเตเดเตเดฃเตเดเต เดจเดเดชเตเดชเดฟเดฒเดพเดเตเดเดฟ.เดตเดฟเดเตเดเดฟ เดฒเตเดเดจเด ,เดนเดฌเตเดฐเตเดฏเตเดเตเดเตเดฑเดฟเดเตเดเตเดณเตเดณ เดฒเตเดเดจเด .COBYLA
โ เดฒเตเดจเดฟเดฏเตผ เดเดเดฆเตเดถเด เดตเดดเดฟ MARE เดเตบเดธเตเดเตเดฐเตเดฏเดฟเตปเดกเต เดเดชเตเดฑเตเดฑเดฟเดฎเตเดธเตเดทเตป, เดฒเตเดจเดฟเดฏเตผ เดเดเดฆเตเดถเด (เดเตเดฐเตเดกเดฟเดฏเดจเตเดฑเต เดเดฃเดเตเดเตเดเตเดเตเดเตฝ เดเตเดเดพเดคเต) เดเดณเตเดณ เดเตบเดธเตเดเตเดฐเตเตปเดกเต เดเดชเตเดฑเตเดฑเดฟเดฎเตเดธเตเดทเตป.เดตเดฟเดเตเดเดฟ เดฒเตเดเดจเด .
เดคเดฟเดฐเดเตเดเตเดเตเดคเตเดค เดฐเตเดคเดฟเดฏเต เดเดถเตเดฐเดฏเดฟเดเตเดเต, เดชเตเดฐเดถเตเดจเด เดชเดฐเดฟเดนเดฐเดฟเดเตเดเตเดจเตเดจเดคเดฟเดจเตเดณเตเดณ เดตเตเดฏเดตเดธเตเดฅเดเดณเตเด เดจเดฟเดฏเดจเตเดคเตเดฐเดฃเดเตเดเดณเตเด เดตเตเดฏเดคเตเดฏเดธเตเดคเดฎเดพเดฏเดฟ เดธเดเตเดเตเดเดฐเดฟเดเตเดเดฟเดฐเดฟเดเตเดเตเดจเตเดจเต:
- เดเตเดฒเดพเดธเต เดเดฌเตเดเดเตเดฑเตเดฑเต
Bounds
เดฐเตเดคเดฟเดเตพเดเตเดเดพเดฏเดฟ L-BFGS-B, TNC, SLSQP, Trust-constr; - เดชเดเตเดเดฟเด
(min, max)
เดเดคเต เดฐเตเดคเดฟเดเตพเดเตเดเดพเดฏเดฟ L-BFGS-B, TNC, SLSQP, Trust-constr; - เดเดฐเต เดตเดธเตเดคเต เด
เดฒเตเดฒเตเดเตเดเดฟเตฝ เดตเดธเตเดคเตเดเตเดเดณเตเดเต เดเดฐเต เดฒเดฟเดธเตเดฑเตเดฑเต
LinearConstraint
,NonlinearConstraint
COBYLA, SLSQP, Trust-constr เดฐเตเดคเดฟเดเตพเดเตเดเดพเดฏเดฟ; - เดจเดฟเดเดฃเตเดเต เด
เดฒเตเดฒเตเดเตเดเดฟเตฝ เดจเดฟเดเดฃเตเดเตเดเตเดเดณเตเดเต เดชเดเตเดเดฟเด
{'type':str, 'fun':callable, 'jac':callable,opt, 'args':sequence,opt}
COBYLA, SLSQP เดฐเตเดคเดฟเดเตพเดเตเดเดพเดฏเดฟ.
เดฒเตเดเดจเดคเตเดคเดฟเดจเตเดฑเต เดฐเตเดชเดฐเตเด:
1) เดเดฌเตโเดเดเตโเดฑเตเดฑเตเดเดณเดพเดฏเดฟ เดตเตเดฏเดเตเดคเดฎเดพเดเตเดเดฟเดฏ เดจเดฟเดฏเดจเตเดคเตเดฐเดฃเดเตเดเดณเตเดณเตเดณ เดเตเดฐเดธเตเดฑเตเดฑเต เดฑเตเดเดฟเดฏเดฃเดฟเตฝ (เดฐเตเดคเดฟ=โเดเตเดฐเดธเตเดฑเตเดฑเต-เดเตบเดธเตโเดเตเดฐเตฝโ) เดเดฐเต เดธเตเดชเดพเดงเดฟเด เดเดชเตเดฑเตเดฑเดฟเดฎเตเดธเตเดทเตป เด
เตฝเดเตเดฐเดฟเดคเด เดเดชเดฏเตเดเดฟเดเตเดเตเดจเตเดจเดคเต เดชเดฐเดฟเดเดฃเดฟเดเตเดเตเด Bounds
, LinearConstraint
, NonlinearConstraint
;
2) เดเดฐเต เดจเดฟเดเดฃเตเดเต เดฐเตเดชเดคเตเดคเดฟเตฝ เดตเตเดฏเดเตเดคเดฎเดพเดเตเดเดฟเดฏ เดจเดฟเดฏเดจเตเดคเตเดฐเดฃเดเตเดเดณเตเดณเตเดณ เดเดฑเตเดฑเดตเตเด เดเตเดฑเดเตเด เดธเตเดเตเดตเดฏเตผ เดฐเตเดคเดฟ (เดฐเตเดคเดฟ = "SLSQP") เดเดชเดฏเตเดเดฟเดเตเดเต เดธเตเดเตเดตเตปเดทเตเดฏเตฝ เดชเตเดฐเตเดเตเดฐเดพเดฎเดฟเดเดเต เดชเดฐเดฟเดเดฃเดฟเดเตเดเตเด {'type', 'fun', 'jac', 'args'}
;
3) เดเดฐเต เดตเตเดฌเต เดธเตเดฑเตเดฑเตเดกเดฟเดฏเตเดฏเตเดเต เดเดฆเดพเดนเดฐเดฃเด เดเดชเดฏเตเดเดฟเดเตเดเต เดจเดฟเตผเดฎเตเดฎเดฟเดเตเด เดเตฝเดชเตเดชเดจเตเดจเดเตเดเดณเตเดเต เดเดชเตเดฑเตเดฑเดฟเดฎเตเดธเตเดทเดจเตเดฑเต เดเดฐเต เดเดฆเดพเดนเดฐเดฃเด เดตเดฟเดถเดเดฒเดจเด เดเตเดฏเตเดฏเตเด.
เดธเตเดชเดพเดงเดฟเด เดเดชเตเดฑเตเดฑเดฟเดฎเตเดธเตเดทเตป เดฐเตเดคเดฟ="trust-constr"
เดฐเตเดคเดฟ เดจเดเดชเตเดชเดฟเดฒเดพเดเตเดเตฝ trust-constr
เดเดคเดฟเดจเต เด
เดเดฟเดธเตเดฅเดพเดจเดฎเดพเดเตเดเดฟ
เดชเตเดคเตเดตเดพเดฏ เดฐเตเดชเดคเตเดคเดฟเตฝ เดฎเดฟเดจเดฟเดฎเด เดเดฃเตเดเตเดคเตเดคเตเดจเตเดจเดคเดฟเดจเตเดณเตเดณ เดชเตเดฐเดถเตเดจเดคเตเดคเดฟเดจเตเดฑเต เดเดฃเดฟเดคเดถเดพเดธเตเดคเตเดฐ เดฐเตเดชเตเดเดฐเดฃเด:
เดเตผเดถเดจเดฎเดพเดฏ เดธเดฎเดคเตเดต เดจเดฟเดฏเดจเตเดคเตเดฐเดฃเดเตเดเตพเดเตเดเดพเดฏเดฟ, เดคเดพเดดเดคเตเดคเต เดชเดฐเดฟเดงเดฟ เดฎเตเดเดณเดฟเดฒเต เดชเดฐเดฟเดงเดฟเดเตเดเต เดคเตเดฒเตเดฏเดฎเดพเดฏเดฟ เดธเดเตเดเตเดเดฐเดฟเดเตเดเดฟเดฐเดฟเดเตเดเตเดจเตเดจเต .
เดตเตบ-เดตเต เดจเดฟเดฏเดจเตเดคเตเดฐเดฃเดคเตเดคเดฟเดจเดพเดฏเดฟ, เดฎเตเดเดณเดฟเดฒเต เดคเดพเดดเตเดฏเต เดชเดฐเดฟเดงเดฟ เดธเดเตเดเตเดเดฐเดฟเดเตเดเดฟเดฐเดฟเดเตเดเตเดจเตเดจเต np.inf
เด
เดจเตเดฌเดจเตเดง เดเดฟเดนเตเดจเดคเตเดคเตเดเตเดชเตเดชเด.
เดฐเดฃเตเดเต เดตเตเดฐเดฟเดฏเดฌเดฟเดณเตเดเดณเตเดเต เด
เดฑเดฟเดฏเดชเตเดชเตเดเตเดจเตเดจ Rosenbrock เดซเดเดเตโเดทเดจเตเดฑเต เดเดฑเตเดฑเดตเตเด เดเตเดฑเดเตเดเดคเต เดเดฃเตเดเตเดคเตเดคเตเดฃเตเดเดคเต เดเดตเดถเตเดฏเดฎเดพเดฏเดฟเดฐเดฟเดเตเดเดเตเดเต:
เด เดธเดพเดนเดเดฐเตเดฏเดคเตเดคเดฟเตฝ, เด เดคเดฟเดจเตเดฑเต เดจเดฟเตผเดตเดเดจเดคเตเดคเดฟเดจเตเดฑเต เดกเตเดฎเตเดฏเตโเดจเดฟเตฝ เดเดจเดฟเดชเตเดชเดฑเดฏเตเดจเตเดจ เดจเดฟเดฏเดจเตเดคเตเดฐเดฃเดเตเดเตพ เดธเดเตเดเตเดเดฐเดฟเดเตเดเดฟเดฐเดฟเดเตเดเตเดจเตเดจเต:
เดเดเตเดเดณเตเดเต เดเดพเดฐเตเดฏเดคเตเดคเดฟเตฝ, เดชเตเดฏเดฟเดจเตเดฑเดฟเตฝ เดเดฐเต เด
เดฆเตเดตเดฟเดคเตเดฏ เดชเดฐเดฟเดนเดพเดฐเดฎเตเดฃเตเดเต , เดเดฆเตเดฏเดคเตเดคเตเดฏเตเด เดจเดพเดฒเดพเดฎเดคเตเดคเตเดฏเตเด เดจเดฟเดฏเดจเตเดคเตเดฐเดฃเดเตเดเตพ เดฎเดพเดคเตเดฐเดฎเต เดธเดพเดงเตเดคเดฏเตเดณเตเดณเต.
เดจเดฎเตเดเตเดเต เดคเดพเดดเต เดจเดฟเดจเตเดจเต เดฎเตเดเดณเดฟเดฒเตเดเตเดเต เดจเดฟเดฏเดจเตเดคเตเดฐเดฃเดเตเดเดณเดฟเดฒเตเดเต เดเดเดจเตเดจเตเดชเตเดเดพเด, เด
เดต เดเดเตเดเดจเต เดธเตโเดเตเดชเตเดชเดฟเดฏเดฟเตฝ เดเดดเตเดคเดพเดฎเตเดจเตเดจเต เดจเตเดเตเดเดพเด.
เดจเดฟเดฏเดจเตเดคเตเดฐเดฃเดเตเดเตพ ะธ เดจเดฎเตเดเตเดเต เด
เดคเดฟเดจเต เดฌเตเดฃเตเดเตเดธเต เดเดฌเตเดเดเตเดฑเตเดฑเต เดเดชเดฏเตเดเดฟเดเตเดเต เดจเดฟเตผเดตเตเดตเดเดฟเดเตเดเดพเด.
from scipy.optimize import Bounds
bounds = Bounds ([0, -0.5], [1.0, 2.0])
เดจเดฟเดฏเดจเตเดคเตเดฐเดฃเดเตเดเตพ ะธ เดจเดฎเตเดเตเดเต เดเดคเต เดฐเตเดเตเดฏ เดฐเตเดชเดคเตเดคเดฟเตฝ เดเดดเตเดคเดพเด:
เดจเดฎเตเดเตเดเต เด เดจเดฟเดฏเดจเตเดคเตเดฐเดฃเดเตเดเดณเต เดเดฐเต LinearConstraint เดเดฌเตเดเดเตเดฑเตเดฑเต เดเดฏเดฟ เดจเดฟเตผเดตเดเดฟเดเตเดเดพเด:
import numpy as np
from scipy.optimize import LinearConstraint
linear_constraint = LinearConstraint ([[1, 2], [2, 1]], [-np.inf, 1], [1, 1])
เด เดตเดธเดพเดจเดฎเดพเดฏเดฟ เดฎเดพเดเตเดฐเดฟเดเตเดธเต เดฐเตเดชเดคเตเดคเดฟเดฒเตเดณเตเดณ เดจเตเตบ-เดฒเตเดจเดฟเดฏเตผ เดเตบเดธเตเดเตเดฐเตเดจเตเดฑเต:
เด เดชเดฐเดฟเดฎเดฟเดคเดฟเดฏเตเดเตเดเตเด เดนเตเดธเตเดธเดฟเดฏเตป เดฎเดพเดเตเดฐเดฟเดเตเดธเดฟเดจเตเดฑเต เดเดเดชเดเตเดทเตเดฏเดฎเดพเดฏ เดตเตเดเตโเดเดฑเดฟเดจเตเดฑเต เดฐเตเดเตเดฏ เดธเดเดฏเตเดเดจเดคเตเดคเดฟเดจเตเด เดตเตเดฃเตเดเดฟ เดเดเตเดเตพ เดฏเดพเดเตเดเตเดฌเดฟเดฏเตป เดฎเดพเดเตเดฐเดฟเดเตเดธเต เดจเดฟเตผเดตเตเดตเดเดฟเดเตเดเตเดจเตเดจเต. :
เดเดชเตเดชเตเตพ เดจเดฎเตเดเตเดเต เดเดฐเต เดจเตเตบ-เดฒเตเดจเดฟเดฏเตผ เดเตบเดธเตเดเตเดฐเตเดจเตเดฑเต เดเดฐเต เดเดฌเตเดเดเตเดฑเตเดฑเดพเดฏเดฟ เดจเดฟเตผเดตเดเดฟเดเตเดเดพเด NonlinearConstraint
:
from scipy.optimize import NonlinearConstraint
def cons_f(x):
return [x[0]**2 + x[1], x[0]**2 - x[1]]
def cons_J(x):
return [[2*x[0], 1], [2*x[0], -1]]
def cons_H(x, v):
return v[0]*np.array([[2, 0], [0, 0]]) + v[1]*np.array([[2, 0], [0, 0]])
nonlinear_constraint = NonlinearConstraint(cons_f, -np.inf, 1, jac=cons_J, hess=cons_H)
เดตเดฒเดฟเดชเตเดชเด เดตเดฒเตเดคเดพเดฃเตเดเตเดเดฟเตฝ, เดฎเตเดเตเดฐเดฟเดเตเดธเตเดเตพ เดตเดฟเดฐเดณเดฎเดพเดฏ เดฐเตเดชเดคเตเดคเดฟเตฝ เดธเตเดเดฟเดชเตเดชเดฟเดเตเดเดพเด:
from scipy.sparse import csc_matrix
def cons_H_sparse(x, v):
return v[0]*csc_matrix([[2, 0], [0, 0]]) + v[1]*csc_matrix([[2, 0], [0, 0]])
nonlinear_constraint = NonlinearConstraint(cons_f, -np.inf, 1,
jac=cons_J, hess=cons_H_sparse)
เด
เดฒเตเดฒเตเดเตเดเดฟเตฝ เดเดฐเต เดตเดธเตเดคเตเดตเดพเดฏเดฟ LinearOperator
:
from scipy.sparse.linalg import LinearOperator
def cons_H_linear_operator(x, v):
def matvec(p):
return np.array([p[0]*2*(v[0]+v[1]), 0])
return LinearOperator((2, 2), matvec=matvec)
nonlinear_constraint = NonlinearConstraint(cons_f, -np.inf, 1,
jac=cons_J, hess=cons_H_linear_operator)
เดนเตเดธเตเดธเดฟเดฏเตป เดฎเดพเดเตเดฐเดฟเดเตเดธเต เดเดฃเดเตเดเดพเดเตเดเตเดฎเตเดชเตเตพ เดตเดณเดฐเตเดฏเดงเดฟเดเด เดชเดฐเดฟเดถเตเดฐเดฎเด เดเดตเดถเตเดฏเดฎเดพเดฃเต, เดจเดฟเดเตเดเตพเดเตเดเต เดเดฐเต เดเตเดฒเดพเดธเต เดเดชเดฏเตเดเดฟเดเตเดเดพเด HessianUpdateStrategy
BFGS
ะธ SR1
.
from scipy.optimize import BFGS
nonlinear_constraint = NonlinearConstraint(cons_f, -np.inf, 1, jac=cons_J, hess=BFGS())
เดชเดฐเดฟเดฎเดฟเดคเดฎเดพเดฏ เดตเตเดฏเดคเตเดฏเดพเดธเดเตเดเตพ เดเดชเดฏเตเดเดฟเดเตเดเตเด เดนเตเดธเตเดธเดฟเดฏเตป เดเดฃเดเตเดเดพเดเตเดเดพเด:
nonlinear_constraint = NonlinearConstraint (cons_f, -np.inf, 1, jac = cons_J, hess = '2-point')
เดชเดฐเดฟเดฎเดฟเดคเดฎเดพเดฏ เดตเตเดฏเดคเตเดฏเดพเดธเดเตเดเตพ เดเดชเดฏเตเดเดฟเดเตเดเต เดจเดฟเดฏเดจเตเดคเตเดฐเดฃเดเตเดเตพเดเตเดเดพเดฏเตเดณเตเดณ เดเดพเดเตเดเตเดฌเดฟเดฏเตป เดฎเดพเดเตเดฐเดฟเดเตเดธเตเด เดเดฃเดเตเดเดพเดเตเดเดพเด. เดเดจเตเดจเดฟเดฐเตเดจเตเดจเดพเดฒเตเด, เด เดธเดพเดนเดเดฐเตเดฏเดคเตเดคเดฟเตฝ เดชเดฐเดฟเดฎเดฟเดคเดฎเดพเดฏ เดตเตเดฏเดคเตเดฏเดพเดธเดเตเดเตพ เดเดชเดฏเตเดเดฟเดเตเดเต เดนเตเดธเตเดธเดฟเดฏเตป เดฎเดพเดเตเดฐเดฟเดเตเดธเต เดเดฃเดเตเดเดพเดเตเดเดพเตป เดเดดเดฟเดฏเดฟเดฒเตเดฒ. Hessian เดเดจเตเดจเดคเต เดเดฐเต เดซเดเดเตโเดทเดจเดพเดฏเดฟ เด เดฒเตเดฒเตเดเตเดเดฟเตฝ HessianUpdateStrategy เดเตเดฒเดพเดธเต เดเดชเดฏเตเดเดฟเดเตเดเดฟเดฐเดฟเดเตเดเดฃเด.
nonlinear_constraint = NonlinearConstraint (cons_f, -np.inf, 1, jac = '2-point', hess = BFGS ())
เดเดชเตเดฑเตเดฑเดฟเดฎเตเดธเตเดทเตป เดชเตเดฐเดถเตเดจเดคเตเดคเดฟเดจเตเดณเตเดณ เดชเดฐเดฟเดนเดพเดฐเด เดเดคเตเดชเตเดฒเต เดเดพเดฃเดชเตเดชเตเดเตเดจเตเดจเต:
from scipy.optimize import minimize
from scipy.optimize import rosen, rosen_der, rosen_hess, rosen_hess_prod
x0 = np.array([0.5, 0])
res = minimize(rosen, x0, method='trust-constr', jac=rosen_der, hess=rosen_hess,
constraints=[linear_constraint, nonlinear_constraint],
options={'verbose': 1}, bounds=bounds)
print(res.x)
`gtol` termination condition is satisfied.
Number of iterations: 12, function evaluations: 8, CG iterations: 7, optimality: 2.99e-09, constraint violation: 1.11e-16, execution time: 0.033 s.
[0.41494531 0.17010937]
เดเดตเดถเตเดฏเดฎเตเดเตเดเดฟเตฝ, เดฒเตเดจเดฟเดฏเตผ เดเดชเตเดชเดฑเตเดฑเตเดฑเตผ เดเตเดฒเดพเดธเต เดเดชเดฏเตเดเดฟเดเตเดเต เดนเตเดธเตเดธเดฟเดฏเตป เดเดฃเดเตเดเดพเดเตเดเตเดจเตเดจเดคเดฟเดจเตเดณเตเดณ เดชเตเดฐเดตเตผเดคเตเดคเดจเด เดจเดฟเตผเดตเดเดฟเดเตเดเดพเด
def rosen_hess_linop(x):
def matvec(p):
return rosen_hess_prod(x, p)
return LinearOperator((2, 2), matvec=matvec)
res = minimize(rosen, x0, method='trust-constr', jac=rosen_der, hess=rosen_hess_linop,
constraints=[linear_constraint, nonlinear_constraint],
options={'verbose': 1}, bounds=bounds)
print(res.x)
เด
เดฒเตเดฒเตเดเตเดเดฟเตฝ เดชเดฐเดพเดฎเตเดฑเตเดฑเดฑเดฟเดฒเตเดเต เดนเตเดธเตเดธเดฟเดฏเดจเตเดฑเตเดฏเตเด เดเดฐเต เด
เดจเดฟเดฏเดจเตเดคเตเดฐเดฟเดคเดฎเดพเดฏ เดตเตเดเตเดฑเตเดฑเดฑเดฟเดจเตเดฑเตเดฏเตเด เดเตฝเดชเตเดชเดจเตเดจเด hessp
:
res = minimize(rosen, x0, method='trust-constr', jac=rosen_der, hessp=rosen_hess_prod,
constraints=[linear_constraint, nonlinear_constraint],
options={'verbose': 1}, bounds=bounds)
print(res.x)
เด
เดฒเตเดฒเตเดเตเดเดฟเตฝ, เดเดชเตเดฑเตเดฑเดฟเดฎเตเดธเต เดเตเดฏเตเดฏเตเดจเตเดจ เดซเดเดเตโเดทเดจเตเดฑเต เดเดจเตเดจเตเด เดฐเดฃเตเดเตเด เดกเตเดฑเดฟเดตเตเดฑเตเดฑเตเดตเตเดเตพ เดเดเดฆเตเดถเด เดเดฃเดเตเดเดพเดเตเดเดพเด. เดเดฆเดพเดนเดฐเดฃเดคเตเดคเดฟเดจเต, เดซเดเดเตเดทเตป เดเดชเดฏเตเดเดฟเดเตเดเต เดนเตเดธเตเดธเดฟเดฏเตป เดเดเดฆเตเดถเด เดเดฃเดเตเดเดพเดเตเดเดพเด SR1
(เด
เตผเดฆเตเดง-เดจเตเดฏเตเดเตเดเตเดฃเดฟเดฏเตป เดเดเดฆเตเดถเด). เดชเดฐเดฟเดฎเดฟเดคเดฎเดพเดฏ เดตเตเดฏเดคเตเดฏเดพเดธเดเตเดเดณเดพเตฝ เดเตเดฐเตเดกเดฟเดฏเดจเตเดฑเต เดเดเดฆเตเดถเด เดเดฃเดเตเดเดพเดเตเดเดพเด.
from scipy.optimize import SR1
res = minimize(rosen, x0, method='trust-constr', jac="2-point", hess=SR1(),
constraints=[linear_constraint, nonlinear_constraint],
options={'verbose': 1}, bounds=bounds)
print(res.x)
เดธเตเดชเดพเดงเดฟเด เดเดชเตเดฑเตเดฑเดฟเดฎเตเดธเตเดทเตป เดฐเตเดคเดฟ="SLSQP"
เดซเตเดฎเดฟเดฒเต เดเดฐเต เดซเดเดเตเดทเตป เดเตเดฑเดฏเตเดเตเดเตเดจเตเดจเดคเดฟเดจเตเดณเตเดณ เดชเตเดฐเดถเตเดจเดเตเดเตพ เดชเดฐเดฟเดนเดฐเดฟเดเตเดเตเดจเตเดจเดคเดฟเดจเดพเดฃเต SLSQP เดฐเตเดคเดฟ เดฐเตเดชเดเตฝเดชเตเดชเดจ เดเตเดฏเตเดคเดฟเดฐเดฟเดเตเดเตเดจเตเดจเดคเต:
เดเดตเดฟเดเตเดฏเดพเดฃเต ะธ - เดธเดฎเดคเตเดตเดเตเดเดณเตเดเตเดฏเต เด เดธเดฎเดคเตเดตเดเตเดเดณเตเดเตเดฏเต เดฐเตเดชเดคเตเดคเดฟเตฝ เดจเดฟเดฏเดจเตเดคเตเดฐเดฃเดเตเดเตพ เดตเดฟเดตเดฐเดฟเดเตเดเตเดจเตเดจ เดเดเตเดธเตเดชเตเดฐเดทเดจเตเดเดณเตเดเต เดธเตเดเดฟเดเดเดณเตเดเต เดเตเดเตเดเด. - เดซเดเดเตโเดทเดจเตเดฑเต เดจเดฟเตผเดตเดเดจเดคเตเดคเดฟเดจเตเดฑเต เดกเตเดฎเตเดฏเตโเดจเดฟเดจเดพเดฏเดฟ เดคเดพเดดเตเดจเตเดจเดคเตเด เดฎเตเดเดณเดฟเดฒเตเดณเตเดณเดคเตเดฎเดพเดฏ เดชเดฐเดฟเดงเดฟเดเดณเตเดเต เดธเตเดฑเตเดฑเตเดเตพ.
เดฒเตเดจเดฟเดฏเตผ, เดจเตเตบเดฒเตเดจเดฟเดฏเตผ เดจเดฟเดฏเดจเตเดคเตเดฐเดฃเดเตเดเตพ เดเตเดเดณเตเดณเตเดณ เดจเดฟเดเดฃเตเดเตเดเตเดเดณเตเดเต เดฐเตเดชเดคเตเดคเดฟเตฝ เดตเดฟเดตเดฐเดฟเดเตเดเดฟเดฐเดฟเดเตเดเตเดจเตเดจเต type
, fun
ะธ jac
.
ineq_cons = {'type': 'ineq',
'fun': lambda x: np.array ([1 - x [0] - 2 * x [1],
1 - x [0] ** 2 - x [1],
1 - x [0] ** 2 + x [1]]),
'jac': lambda x: np.array ([[- 1.0, -2.0],
[-2 * x [0], -1.0],
[-2 * x [0], 1.0]])
}
eq_cons = {'type': 'eq',
'fun': lambda x: np.array ([2 * x [0] + x [1] - 1]),
'jac': lambda x: np.array ([2.0, 1.0])
}
เดเดฑเตเดฑเดตเตเด เดเตเดฑเดเตเดเดคเดฟเดจเดพเดฏเตเดณเตเดณ เดคเดฟเดฐเดฏเตฝ เดเดจเดฟเดชเตเดชเดฑเดฏเตเดจเตเดจ เดฐเตเดคเดฟเดฏเดฟเตฝ เดจเดเดคเตเดคเตเดจเตเดจเต:
x0 = np.array([0.5, 0])
res = minimize(rosen, x0, method='SLSQP', jac=rosen_der,
constraints=[eq_cons, ineq_cons], options={'ftol': 1e-9, 'disp': True},
bounds=bounds)
print(res.x)
Optimization terminated successfully. (Exit mode 0)
Current function value: 0.34271757499419825
Iterations: 4
Function evaluations: 5
Gradient evaluations: 4
[0.41494475 0.1701105 ]
เดเดชเตเดฑเตเดฑเดฟเดฎเตเดธเตเดทเตป เดเดฆเดพเดนเดฐเดฃเด
เด เดเตเดเดพเดฎเดคเตเดคเต เดธเดพเดเตเดเตเดคเดฟเด เดเดเดจเดฏเดฟเดฒเตเดเตเดเตเดณเตเดณ เดชเดฐเดฟเดตเตผเดคเตเดคเดจเดตเตเดฎเดพเดฏเดฟ เดฌเดจเตเดงเดชเตเดชเตเดเตเดเต, เดเดฐเต เดตเตเดฌเต เดธเตเดฑเตเดฑเตเดกเดฟเดฏเตเดฏเตเดเต เดเดฆเดพเดนเดฐเดฃเด เดเดชเดฏเตเดเดฟเดเตเดเต เดชเตเดฐเตเดกเดเตเดทเตป เดเดชเตเดฑเตเดฑเดฟเดฎเตเดธเตเดทเตป เดจเตเดเตเดเดพเด, เด เดคเต เดเดเตเดเตพเดเตเดเต เดเตเดฑเตเดคเตเด เดเดจเตเดจเดพเตฝ เดธเตเดฅเดฟเดฐเดคเดฏเตเดณเตเดณเดคเตเดฎเดพเดฏ เดตเดฐเตเดฎเดพเดจเด เดจเตฝเดเตเดจเตเดจเต. เดฎเตเดจเตเดจเต เดคเดฐเดคเตเดคเดฟเดฒเตเดณเตเดณ เดเตฝเดชเตเดชเดจเตเดจเดเตเดเตพ เดจเดฟเตผเดฎเตเดฎเดฟเดเตเดเตเดจเตเดจ เดเดฐเต เดเดพเดฒเดฟเดฏเตเดเต เดกเดฏเดฑเดเตเดเดฑเดพเดฏเดฟ เดจเดฎเตเดเตเดเต เดธเตเดตเดฏเด เดธเดเตเดเตฝเดชเตเดชเดฟเดเตเดเดพเด:
- x0 - เดฒเดพเตปเดกเดฟเดเดเต เดชเตเดเตเดเตพ เดตเดฟเตฝเดเตเดเตเดจเตเดจเต, 10 เดเตเดฐเดฟเดฏเดฑเดฟเตฝ เดจเดฟเดจเตเดจเต.
- x1 - เดเตเตผเดชเตเดชเดฑเตเดฑเตเดฑเต เดตเตเดฌเตโเดธเตเดฑเตเดฑเตเดเตพ, 20 เดเตเดฐเดฟเตฝ เดจเดฟเดจเตเดจเต.
- x2 - เดเตบเดฒเตเตป เดธเตเดฑเตเดฑเตเดฑเตเดเตพ, 30 tr เดฎเตเดคเตฝ.
เดเดเตเดเดณเตเดเต เดซเตเดฐเดฃเตเดเตเดฒเดฟ เดตเตผเดเตเดเดฟเดเดเต เดเตเดฎเดฟเตฝ เดจเดพเดฒเต เดเตเดจเดฟเดฏเตผเดฎเดพเดฐเตเด เดฐเดฃเตเดเต เดฎเดฟเดกเดฟเตฝเดธเตเด เดเดฐเต เดธเตเดจเดฟเดฏเดฑเตเด เดเตพเดชเตเดชเตเดเตเดจเตเดจเต. เด เดตเดฐเตเดเต เดชเตเดฐเดคเดฟเดฎเดพเดธ เดชเตเดฐเดตเตผเดคเตเดคเดจ เดธเดฎเดฏ เดซเดฃเตเดเต:
- เดเตเตบ เดฎเดพเดธเดเตเดเตพ:
4 * 150 = 600 ัะตะป * ัะฐั
, - เดฎเดงเตเดฏเดญเดพเดเดเตเดเตพ:
2 * 150 = 300 ัะตะป * ัะฐั
, - เดธเตเดจเดฟเดฏเตผ:
150 ัะตะป * ัะฐั
.
เดฒเดญเตเดฏเดฎเดพเดฏ เดเดฆเตเดฏเดคเตเดคเต เดเตเดจเดฟเดฏเตผ (0, 1, 2) เดฎเดฃเดฟเดเตเดเตเดฑเตเดเตพ เดเดฐเต เดธเตเดฑเตเดฑเดฟเดจเตเดฑเต (x10, x20, x30), เดเดเดคเตเดคเดฐเด - (7, 15, 20), เดธเตเดจเดฟเดฏเตผ - (5, 10, 15) เดตเดฟเดเดธเดจเดคเตเดคเดฟเดจเตเด เดตเดฟเดจเตเดฏเดพเดธเดคเตเดคเดฟเดจเตเด เดเตเดฒเดตเดดเดฟเดเตเดเดเตเดเต ) เดจเดฟเดเตเดเดณเตเดเต เดเตเดตเดฟเดคเดคเตเดคเดฟเดฒเต เดเดฑเตเดฑเดตเตเด เดฎเดฟเดเดเตเด เดธเดฎเดฏเดคเตเดคเดฟเดจเตเดฑเต เดฎเดฃเดฟเดเตเดเตเดฑเตเดเตพ.
เดเดคเตเดฐเต เดธเดพเดงเดพเดฐเดฃ เดธเดเดตเดฟเดงเดพเดฏเดเดจเตเดฏเตเด เดชเตเดฒเต, เดชเตเดฐเดคเดฟเดฎเดพเดธ เดฒเดพเดญเด เดชเดฐเดฎเดพเดตเดงเดฟเดฏเดพเดเตเดเดพเตป เดเดเตเดเตพ เดเดเตเดฐเดนเดฟเดเตเดเตเดจเตเดจเต. เดตเดธเตเดคเตเดจเดฟเดทเตเด เดฎเดพเดฏ เดชเตเดฐเดตเตผเดคเตเดคเดจเด เดเดดเตเดคเตเด เดเดจเตเดจเดคเดพเดฃเต เดตเดฟเดเดฏเดคเตเดคเดฟเดฒเตเดเตเดเตเดณเตเดณ เดเดฆเตเดฏเดชเดเดฟ value
เดชเตเดฐเดคเดฟเดฎเดพเดธเด เดเตฝเดชเตเดชเดพเดฆเดฟเดชเตเดชเดฟเดเตเดเตเดจเตเดจ เดเตฝเดชเตเดชเดจเตเดจเดเตเดเดณเดฟเตฝ เดจเดฟเดจเตเดจเตเดณเตเดณ เดตเดฐเตเดฎเดพเดจเดคเตเดคเดฟเดจเตเดฑเต เด
เดณเดตเต:
def value(x):
return - 10*x[0] - 20*x[1] - 30*x[2]
เดเดคเตเดฐเต เดชเดฟเดถเดเดฒเตเดฒ; เดชเดฐเดฎเดพเดตเดงเดฟ เดคเดฟเดฐเดฏเตเดฎเตเดชเตเตพ, เดตเดฟเดชเดฐเตเดค เดเดฟเดนเตเดจเด เดเดชเดฏเตเดเดฟเดเตเดเต เดเดฌเตเดเดเตเดฑเตเดฑเตเดตเต เดซเดเดเตเดทเตป เดเตเดฑเตเดคเดพเดเตเดเตเดจเตเดจเต.
เด เดเตเดคเตเดค เดเดเตเดเด, เดเดเตเดเดณเตเดเต เดเตเดตเดจเดเตเดเดพเดฐเต เด เดฎเดฟเดคเดฎเดพเดฏเดฟ เดเตเดฒเดฟ เดเตเดฏเตเดฏเตเดจเตเดจเดคเดฟเตฝ เดจเดฟเดจเตเดจเต เดตเดฟเดฒเดเตเดเตเดเดฏเตเด เดเตเดฒเดฟ เดธเดฎเดฏเดเตเดเดณเดฟเตฝ เดจเดฟเดฏเดจเตเดคเตเดฐเดฃเดเตเดเตพ เดเตผเดชเตเดชเตเดเตเดคเตเดคเตเดเดฏเตเด เดเตเดฏเตเดฏเตเด เดเดจเตเดจเดคเดพเดฃเต:
เดเดจเตเดคเดพเดฃเต เดคเตเดฒเตเดฏเดฎเดพเดฏเดคเต:
ineq_cons = {'type': 'ineq',
'fun': lambda x: np.array ([600 - 10 * x [0] - 20 * x [1] - 30 * x[2],
300 - 7 * x [0] - 15 * x [1] - 20 * x[2],
150 - 5 * x [0] - 10 * x [1] - 15 * x[2]])
}
เดเตฝเดชเตเดชเดจเตเดจ เดเดเตเดเตเดชเตเดเตเดเต เดชเตเดธเดฟเดฑเตเดฑเตเดตเต เดฎเดพเดคเตเดฐเดฎเดพเดฏเดฟเดฐเดฟเดเตเดเดฃเด เดเดจเตเดจเดคเดพเดฃเต เดเดฐเต เดเดชเดเดพเดฐเดฟเด เดจเดฟเดฏเดจเตเดคเตเดฐเดฃเด:
bnds = Bounds ([0, 0, 0], [np.inf, np.inf, np.inf])
เด
เดตเดธเดพเดจเดฎเดพเดฏเดฟ, เดเดฑเตเดฑเดตเตเด เดฎเดฟเดเดเตเด เด
เดจเตเดฎเดพเดจเด, เดเตเดฑเดเตเด เดตเดฟเดฒเดฏเตเด เดเดฏเตผเดจเตเดจ เดจเดฟเดฒเดตเดพเดฐเดตเตเด เดเดพเดฐเดฃเด, เดธเดเดคเตเดชเตเดคเดฐเดพเดฏ เดเดชเดญเตเดเตเดคเดพเดเตเดเดณเตเดเต เดเดฐเต เดเตเดฏเต เดเดเตเดเตพเดเตเดเดพเดฏเดฟ เดจเดฟเดฐเดจเตเดคเดฐเด เด
เดฃเดฟเดจเดฟเดฐเดเตเดเตเดจเตเดจเต เดเดจเตเดจเดคเดพเดฃเต. เดชเดฐเดฟเดฎเดฟเดคเดฎเดพเดฏ เดเดชเตเดฑเตเดฑเดฟเดฎเตเดธเตเดทเตป เดชเตเดฐเดถเตเดจเด เดชเดฐเดฟเดนเดฐเดฟเดเตเดเตเดจเตเดจเดคเดฟเดจเต เด
เดเดฟเดธเตเดฅเดพเดจเดฎเดพเดเตเดเดฟ, เดชเตเดฐเดคเดฟเดฎเดพเดธ เดเตฝเดชเตเดชเดพเดฆเดจ เดตเตเดณเตเดฏเดเตเดเตพ เดจเดฎเตเดเตเดเต เดธเตเดตเดฏเด เดคเดฟเดฐเดเตเดเตเดเตเดเตเดเดพเด scipy.optimize
:
x0 = np.array([10, 10, 10])
res = minimize(value, x0, method='SLSQP', constraints=ineq_cons, bounds=bnds)
print(res.x)
[7.85714286 5.71428571 3.57142857]
เดจเดฎเตเดเตเดเต เดฎเตเดดเตเดตเตป เดธเดเดเตเดฏเดเดณเดฟเดฒเตเดเตเดเต เด
เดฏเดตเดพเดฏเดฟ เดฑเตเดฃเตเดเต เดเตเดฏเตเดฏเดพเด, เดเตฝเดชเตเดชเดจเตเดจเดเตเดเดณเตเดเต เดเดชเตเดฑเตเดฑเดฟเดฎเตฝ เดตเดฟเดคเดฐเดฃเดคเตเดคเตเดเต เดคเตเดดเดเตเดเดฟเตฝเดเตเดเดพเดฐเตเดเต เดชเตเดฐเดคเดฟเดฎเดพเดธ เดฒเตเดกเต เดเดฃเดเตเดเดพเดเตเดเดพเด x = (8, 6, 3)
:
- เดเตเตบ เดฎเดพเดธเดเตเดเตพ:
8 * 10 + 6 * 20 + 3 * 30 = 290 ัะตะป * ัะฐั
; - เดฎเดงเตเดฏเดญเดพเดเดเตเดเตพ:
8 * 7 + 6 * 15 + 3 * 20 = 206 ัะตะป * ัะฐั
; - เดธเตเดจเดฟเดฏเตผ:
8 * 5 + 6 * 10 + 3 * 15 = 145 ัะตะป * ัะฐั
.
เดเดชเดธเดเดนเดพเดฐเด: เดธเดเดตเดฟเดงเดพเดฏเดเดจเต เด เตผเดนเดฎเดพเดฏ เดชเดฐเดฎเดพเดตเดงเดฟ เดฒเดญเดฟเดเตเดเตเดจเตเดจเดคเดฟเดจเต, เดชเตเดฐเดคเดฟเดฎเดพเดธเด 8 เดฒเดพเตปเดกเดฟเดเดเต เดชเตเดเตเดเดณเตเด 6 เดเดเดคเตเดคเดฐเด เดธเตเดฑเตเดฑเตเดเดณเตเด 3 เดธเตเดฑเตเดฑเตเดฑเตเดเดณเตเด เดธเตเดทเตเดเดฟเดเตเดเตเดจเตเดจเดคเต เดเดเดฟเดคเดฎเดพเดฃเต. เด เดธเดพเดนเดเดฐเตเดฏเดคเตเดคเดฟเตฝ, เดธเตเดจเดฟเดฏเตผ เดฎเตเดทเตเดจเดฟเตฝ เดจเดฟเดจเตเดจเต เดจเตเดเตเดเดพเดคเต เดเดดเตเดคเตเดฎเดฑเดฟเดเตเดเดฟเดฐเดฟเดเตเดเดฃเด, เดฎเดงเตเดฏเดญเดพเดเดเตเดเดณเตเดเต เดฒเตเดกเต เดเดเดฆเตเดถเด 2/3 เดเดฏเดฟเดฐเดฟเดเตเดเตเด, เดเตเดจเดฟเดฏเตผ เดชเดเตเดคเดฟเดฏเดฟเตฝ เดคเดพเดดเตเดฏเดพเดฃเต.
เดคเตเดฐเตเดฎเดพเดจเด
เดชเดพเดเตเดเตเดเดฟเดจเตเดชเตเดชเด เดชเตเดฐเดตเตผเดคเตเดคเดฟเดเตเดเตเดจเตเดจเดคเดฟเดจเตเดณเตเดณ เด
เดเดฟเดธเตเดฅเดพเดจ เดธเดพเดเตเดเตเดคเดฟเด เดตเดฟเดฆเตเดฏเดเตพ เดฒเตเดเดจเด เดตเดฟเดตเดฐเดฟเดเตเดเตเดจเตเดจเต scipy.optimize
, เดธเตเดชเดพเดงเดฟเดเดฎเดพเดฏ เดฎเดฟเดจเดฟเดฎเตเดธเตเดทเตป เดชเตเดฐเดถเตเดจเดเตเดเตพ เดชเดฐเดฟเดนเดฐเดฟเดเตเดเดพเตป เดเดชเดฏเตเดเดฟเดเตเดเตเดจเตเดจเต. เดตเตเดฏเดเตเดคเดฟเดชเดฐเดฎเดพเดฏเดฟ เดเดพเตป เดเดชเดฏเตเดเดฟเดเตเดเตเดจเตเดจเต scipy
เดเตเดตเดฒเด เด
เดเตเดเดพเดฆเดฎเดฟเดเต เดเดตเดถเตเดฏเดเตเดเตพเดเตเดเดพเดฏเดฟ, เด
เดคเดฟเดจเดพเดฒเดพเดฃเต เดจเตฝเดเดฟเดฏเดฟเดฐเดฟเดเตเดเตเดจเตเดจ เดเดฆเดพเดนเดฐเดฃเด เด
เดคเตเดคเดฐเดฎเตเดฐเต เดเตเดฎเดฟเดเต เดธเตเดตเดญเดพเดตเดฎเตเดณเตเดณเดคเต.
เดงเดพเดฐเดพเดณเด เดธเดฟเดฆเตเดงเดพเดจเตเดคเดเตเดเดณเตเด เดตเตเตผเดเตเดตเตฝ เดเดฆเดพเดนเดฐเดฃเดเตเดเดณเตเด เดเดฃเตเดเตเดคเตเดคเดพเตป เดเดดเดฟเดฏเตเด, เดเดฆเดพเดนเดฐเดฃเดคเตเดคเดฟเดจเต, I.L. Akulich เดจเตเดฑเต เดชเตเดธเตเดคเดเดคเตเดคเดฟเตฝ "เดเดฆเดพเดนเดฐเดฃเดเตเดเดณเดฟเดฒเตเด เดชเตเดฐเดถเตเดจเดเตเดเดณเดฟเดฒเตเด เดเดฃเดฟเดคเดถเดพเดธเตเดคเตเดฐ เดชเตเดฐเตเดเตเดฐเดพเดฎเดฟเดเดเต". เดเตเดเตเดคเตฝ เดนเดพเตผเดกเตโเดเตเตผ เดเดชเตเดฒเดฟเดเตเดเตเดทเตป scipy.optimize
เดเดฐเต เดเตเดเตเดเด เดเดฟเดคเตเดฐเดเตเดเดณเดฟเตฝ เดจเดฟเดจเตเดจเต เดเดฐเต 3D เดเดเดจ เดจเดฟเตผเดฎเตเดฎเดฟเดเตเดเดพเตป (
เดตเดฟเดตเดฐเดเตเดเดณเตเดเต เดชเตเดฐเดงเดพเดจ เดเดฑเดตเดฟเดเด scipy
เดธเตเดตเดพเดเดคเด
ะกะฟะฐัะธะฑะพ
เด เดตเดฒเดเดฌเด: www.habr.com