# 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
#        30        0        0       30        0        0        0        0
# FX      0
#
# Nonzero counts
#     Total    const       NL
#        30        0       30
#
# 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.i21 = Var(within=Integers, bounds=(-100,None), initialize=0)
m.i22 = Var(within=Integers, bounds=(-100,None), initialize=0)
m.i23 = Var(within=Integers, bounds=(-100,None), initialize=0)
m.i24 = Var(within=Integers, bounds=(-100,None), initialize=0)
m.i25 = Var(within=Integers, bounds=(-100,None), initialize=0)
m.i26 = Var(within=Integers, bounds=(-100,None), initialize=0)
m.i27 = Var(within=Integers, bounds=(-100,None), initialize=0)
m.i28 = Var(within=Integers, bounds=(-100,None), initialize=0)
m.i29 = Var(within=Integers, bounds=(-100,None), initialize=0)
m.i30 = Var(within=Integers, bounds=(-100,None), initialize=0)

m.obj = Objective(sense=minimize, expr= 29 * m.i1 + 28 * m.i2 + 27 * m.i3 + 26
    * m.i4 + 25 * m.i5 + 24 * m.i6 + 23 * m.i7 + 22 * m.i8 + 21 * m.i9 + 20 *
    m.i10 + 19 * m.i11 + 18 * m.i12 + 17 * m.i13 + 16 * m.i14 + 15 * m.i15 + 14
    * m.i16 + 13 * m.i17 + 12 * m.i18 + 11 * m.i19 + 10 * m.i20 + 9 * m.i21 +
    8 * m.i22 + 7 * m.i23 + 6 * m.i24 + 5 * m.i25 + 4 * m.i26 + 3 * m.i27 + 2 *
    m.i28 + m.i29 + 30 * m.i30)

m.e1 = Constraint(expr= 100 * m.i29**2 - 98 * m.i29 + 100 * m.i28**2 - 98 *
    m.i28 + 100 * m.i27**2 - 98 * m.i27 + 100 * m.i26**2 - 98 * m.i26 + 100 *
    m.i25**2 - 98 * m.i25 + 100 * m.i24**2 - 98 * m.i24 + 100 * m.i23**2 - 98 *
    m.i23 + 100 * m.i22**2 - 98 * m.i22 + 100 * m.i21**2 - 98 * m.i21 + 100 *
    m.i20**2 - 98 * m.i20 + 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.i30**2 - 98 *
    m.i30 - 2 * m.i29 * m.i28 - 2 * m.i29 * m.i28 - 2 * m.i27 * m.i26 - 2 *
    m.i27 * m.i26 - 2 * m.i25 * m.i24 - 2 * m.i25 * m.i24 - 2 * m.i23 * m.i22
    - 2 * m.i23 * m.i22 - 2 * m.i21 * m.i20 - 2 * m.i21 * 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.i30 - 2 * m.i1 *
    m.i30 <= -1)
