from gekko import GEKKO # define new GEKKO model m = GEKKO() # parameter x = m.Param(-0.5) # define new binary variable intb = m.Var(0,lb=0,ub=1,integer=True) # define y y = m.Var() # define equations m.Equation((1-intb)*x <= 0) m.Equation(intb * (-x) <= 0) # output m.Equation(y==(1-intb)*(-x) + intb*x) # solve with APOPT (MINLP solver) m.options.SOLVER=1 m.solve() # print solution print('x: ' + str(x.value)) print('intb: ' + str(intb.value)) print('y: ' + str(y.value))