# MINLP written by GAMS Convert at 02/17/22 17:18:21
#
# Equation counts
#     Total        E        G        L        N        X        C        B
#         1        0        0        1        0        0        0        0
#
# Variable counts
#                  x        b        i      s1s      s2s       sc       si
#     Total     cont   binary  integer     sos1     sos2    scont     sint
#        20        0        0       20        0        0        0        0
# FX      0
#
# Nonzero counts
#     Total    const       NL
#        20        0       20
#
# Reformulation has removed 1 variable and 1 equation

from pyomo.environ import *

model = m = ConcreteModel()

m.i1 = Var(within=Integers, bounds=(-100,None), initialize=0)
m.i2 = Var(within=Integers, bounds=(-100,None), initialize=0)
m.i3 = Var(within=Integers, bounds=(-100,None), initialize=0)
m.i4 = Var(within=Integers, bounds=(-100,None), initialize=0)
m.i5 = Var(within=Integers, bounds=(-100,None), initialize=0)
m.i6 = Var(within=Integers, bounds=(-100,None), initialize=0)
m.i7 = Var(within=Integers, bounds=(-100,None), initialize=0)
m.i8 = Var(within=Integers, bounds=(-100,None), initialize=0)
m.i9 = Var(within=Integers, bounds=(-100,None), initialize=0)
m.i10 = Var(within=Integers, bounds=(-100,None), initialize=0)
m.i11 = Var(within=Integers, bounds=(-100,None), initialize=0)
m.i12 = Var(within=Integers, bounds=(-100,None), initialize=0)
m.i13 = Var(within=Integers, bounds=(-100,None), initialize=0)
m.i14 = Var(within=Integers, bounds=(-100,None), initialize=0)
m.i15 = Var(within=Integers, bounds=(-100,None), initialize=0)
m.i16 = Var(within=Integers, bounds=(-100,None), initialize=0)
m.i17 = Var(within=Integers, bounds=(-100,None), initialize=0)
m.i18 = Var(within=Integers, bounds=(-100,None), initialize=0)
m.i19 = Var(within=Integers, bounds=(-100,None), initialize=0)
m.i20 = Var(within=Integers, bounds=(-100,None), initialize=0)

m.obj = Objective(sense=minimize, expr= 19 * m.i1 + 18 * m.i2 + 17 * m.i3 + 16
    * m.i4 + 15 * m.i5 + 14 * m.i6 + 13 * m.i7 + 12 * m.i8 + 11 * m.i9 + 10 *
    m.i10 + 9 * m.i11 + 8 * m.i12 + 7 * m.i13 + 6 * m.i14 + 5 * m.i15 + 4 *
    m.i16 + 3 * m.i17 + 2 * m.i18 + m.i19 + 20 * m.i20)

m.e1 = Constraint(expr= 100 * m.i19**2 - 98 * m.i19 + 100 * m.i18**2 - 98 *
    m.i18 + 100 * m.i17**2 - 98 * m.i17 + 100 * m.i16**2 - 98 * m.i16 + 100 *
    m.i15**2 - 98 * m.i15 + 100 * m.i14**2 - 98 * m.i14 + 100 * m.i13**2 - 98 *
    m.i13 + 100 * m.i12**2 - 98 * m.i12 + 100 * m.i11**2 - 98 * m.i11 + 100 *
    m.i10**2 - 98 * m.i10 + 100 * m.i9**2 - 98 * m.i9 + 100 * m.i8**2 - 98 *
    m.i8 + 100 * m.i7**2 - 98 * m.i7 + 100 * m.i6**2 - 98 * m.i6 + 100 * m.i5**
    2 - 98 * m.i5 + 100 * m.i4**2 - 98 * m.i4 + 100 * m.i3**2 - 98 * m.i3 + 100
    * m.i2**2 - 98 * m.i2 + 100 * m.i1**2 - 98 * m.i1 + 100 * m.i20**2 - 98 *
    m.i20 - 2 * m.i19 * m.i18 - 2 * m.i19 * m.i18 - 2 * m.i17 * m.i16 - 2 *
    m.i17 * m.i16 - 2 * m.i15 * m.i14 - 2 * m.i15 * m.i14 - 2 * m.i13 * m.i12
    - 2 * m.i13 * m.i12 - 2 * m.i11 * m.i10 - 2 * m.i11 * m.i10 - 2 * m.i9 *
    m.i8 - 2 * m.i9 * m.i8 - 2 * m.i7 * m.i6 - 2 * m.i7 * m.i6 - 2 * m.i5 *
    m.i4 - 2 * m.i5 * m.i4 - 2 * m.i3 * m.i2 - 2 * m.i3 * m.i2 - 2 * m.i1 *
    m.i20 - 2 * m.i1 * m.i20 <= -1)
