将非线性0-1规划问题转换成线性0-1规划问题
题目: max z=x1+x1x2-x3;
-2x1+3*x2+x3<=3;
x1,x2,x3=0或1
采用枚举法
import numpy as np
def mat(x1):
return x1[0]+x1[1]*x1[0]-x1[2]
y0 = 0
for i in range(1,100):
z1 = np.random.randint(0,2,3)
if(-2*z1[0]+3*z1[1]+z1[2] <= 3):
y = mat(z1)
if y>y0:
y0=y
x0=z1
print(x0)
print(y0)
结果:
[Running] python -u “d:\image\matlab.py”
[1 1 0]
2
[Done] exited with code=0 in 0.277 seconds