I am trying to solve a MINLP using the Gekko package. A simple problem is shown below.
I wrote the code below but it gives me this error
@error: Inequality Definition invalid inequalities: z > x < y
from gekko import GEKKO
model = GEKKO()
model.options.SOLVER = 1
#define the inputs
R=[1000 for i in range(nflows)]
C=[[1000 for i in range(n_nodes)] for j in range(n_nodes)]
#define x_ij
x = [[model.Var(value=1, lb=0, ub=1, integer=True) for j in range(n_nodes)] for i in range(n_nodes)]
q = [[[model.Var(value=1/n_nodes, lb=0, ub=1, integer=False) for j in range(n_nodes)] for i in range(n_nodes)] for k in range(nflows)]
#define the objective
model.Obj(sum(sum((x[i][j] /(C[i][j] - R[k] * q[k][i][j] for k in range(nflows))) for j in range(n_nodes)) for i in range(n_nodes)))
n_const=0
for k in flows:
for i in range(n_nodes):
n_const += 1
if checksource (i, k, flows):
model.Equation(sum(x[i][j] * q[k][i][j] for j in range(n_nodes)) == 1)
elif checkdest (i, k, flows):
model.Equation(sum(x[j][i] * q[k][j][i] for j in range(n_nodes)) == 1)
else:
model.Equation(sum(x[i][j]*q[k][i][j] for j in range(n_nodes)) - sum(x[j][i] *q[k][j][i] for j in range(n_nodes)) == 0)
model.solve()