diff options
| author | zhang <zch921005@126.com> | 2022-04-09 18:33:47 +0800 |
|---|---|---|
| committer | zhang <zch921005@126.com> | 2022-04-09 18:33:47 +0800 |
| commit | 9f45c1775e69b8c0ebc38433777e9e71e81f557b (patch) | |
| tree | 2b23347db6c46d08177b286508ef6624b2ab8844 /opt/dual | |
| parent | 3ed1c5d0e4018fc70012a6209a859a059f7127b5 (diff) | |
更新脚本
Diffstat (limited to 'opt/dual')
| -rw-r--r-- | opt/dual/__init__.py | 0 | ||||
| -rw-r--r-- | opt/dual/dual_demo.py | 45 |
2 files changed, 45 insertions, 0 deletions
diff --git a/opt/dual/__init__.py b/opt/dual/__init__.py new file mode 100644 index 0000000..e69de29 --- /dev/null +++ b/opt/dual/__init__.py diff --git a/opt/dual/dual_demo.py b/opt/dual/dual_demo.py new file mode 100644 index 0000000..22eb8f0 --- /dev/null +++ b/opt/dual/dual_demo.py @@ -0,0 +1,45 @@ +from scipy import optimize +from scipy.spatial import distance + +from ortools.sat.python import cp_model + + +def obj(x1, x2): + return -(3*x1 + 4*x2) + + +if __name__ == '__main__': + + # 原始问题 + c = [-3, -4] + A = [[1/2, 2], [3, 1]] + b = [30, 25] + + res = optimize.linprog(c, A_ub=A, b_ub=b, bounds=[[0, None], [0, None]]) + print(res) + + print('=============') + + c = [30, 25] + A = [[-1/2, -3], [-2, -1]] + b = [-3, -4] + res = optimize.linprog(c, A_ub=A, b_ub=b, bounds=[[0, None], [0, None]]) + print(res) + print('=============') + + c = [5, 1] + A = [[-2, -1], [-1, -1], [-2, -20]] + b = [-6, -4, -21] + res = optimize.linprog(c, A_ub=A, b_ub=b, bounds=[[0, None], [0, None]]) + print(res) + print('=============') + + c = [-3, -5] + A = [[1, 3], [3, 4]] + b = [60, 120] + res = optimize.linprog(c, A_ub=A, b_ub=b, bounds=[[10, None], [0, None]]) + print(res) + print('=============') + + model = cp_model.CpModel() + model.AddBoolOr() |
