# MINLP written by GAMS Convert at 03/03/22 14:44:50
#
# Equation counts
#     Total        E        G        L        N        X        C        B
#       112       54       10       48        0        0        0        0
#
# Variable counts
#                  x        b        i      s1s      s2s       sc       si
#     Total     cont   binary  integer     sos1     sos2    scont     sint
#        77       67       10        0        0        0        0        0
# FX      0
#
# Nonzero counts
#     Total    const       NL
#       242      224       18
#
# Reformulation has removed 1 variable and 1 equation

from pyomo.environ import *

model = m = ConcreteModel()

m.x1 = Var(within=Reals, bounds=(0,10), initialize=0)
m.x2 = Var(within=Reals, bounds=(0,None), initialize=0)
m.x3 = Var(within=Reals, bounds=(0,None), initialize=0)
m.x4 = Var(within=Reals, bounds=(0,None), initialize=0)
m.x5 = Var(within=Reals, bounds=(0,None), initialize=0)
m.x6 = Var(within=Reals, bounds=(0,None), initialize=0)
m.x7 = Var(within=Reals, bounds=(0,None), initialize=0)
m.x8 = Var(within=Reals, bounds=(0,None), initialize=0)
m.x9 = Var(within=Reals, bounds=(0,None), initialize=0)
m.x10 = Var(within=Reals, bounds=(0,None), initialize=0)
m.x11 = Var(within=Reals, bounds=(0,None), initialize=0)
m.x12 = Var(within=Reals, bounds=(0,7), initialize=0)
m.x13 = Var(within=Reals, bounds=(0,None), initialize=0)
m.x14 = Var(within=Reals, bounds=(0,None), initialize=0)
m.x15 = Var(within=Reals, bounds=(0,None), initialize=0)
m.x16 = Var(within=Reals, bounds=(0,None), initialize=0)
m.x17 = Var(within=Reals, bounds=(0,None), initialize=0)
m.x18 = Var(within=Reals, bounds=(0,None), initialize=0)
m.x19 = Var(within=Reals, bounds=(0,None), initialize=0)
m.x20 = Var(within=Reals, bounds=(0,None), initialize=0)
m.x21 = Var(within=Reals, bounds=(0,None), initialize=0)
m.x22 = Var(within=Reals, bounds=(0,None), initialize=0)
m.x23 = Var(within=Reals, bounds=(0,None), initialize=0)
m.x24 = Var(within=Reals, bounds=(0,None), initialize=0)
m.x25 = Var(within=Reals, bounds=(0,None), initialize=0)
m.x26 = Var(within=Reals, bounds=(0,None), initialize=0)
m.x27 = Var(within=Reals, bounds=(0,None), initialize=0)
m.x28 = Var(within=Reals, bounds=(0,None), initialize=0)
m.x29 = Var(within=Reals, bounds=(0,None), initialize=0)
m.x30 = Var(within=Reals, bounds=(0,None), initialize=0)
m.x31 = Var(within=Reals, bounds=(0,None), initialize=0)
m.x32 = Var(within=Reals, bounds=(0,None), initialize=0)
m.x33 = Var(within=Reals, bounds=(0,None), initialize=0)
m.x34 = Var(within=Reals, bounds=(0,None), initialize=0)
m.x35 = Var(within=Reals, bounds=(0,None), initialize=0)
m.x36 = Var(within=Reals, bounds=(0,None), initialize=0)
m.x37 = Var(within=Reals, bounds=(0,None), initialize=0)
m.x38 = Var(within=Reals, bounds=(0,None), initialize=0)
m.x39 = Var(within=Reals, bounds=(0,None), initialize=0)
m.x40 = Var(within=Reals, bounds=(0,None), initialize=0)
m.x41 = Var(within=Reals, bounds=(0,None), initialize=0)
m.x42 = Var(within=Reals, bounds=(0,None), initialize=0)
m.x43 = Var(within=Reals, bounds=(0,None), initialize=0)
m.x44 = Var(within=Reals, bounds=(0,None), initialize=0)
m.x45 = Var(within=Reals, bounds=(0,None), initialize=0)
m.x46 = Var(within=Reals, bounds=(0,None), initialize=0)
m.x47 = Var(within=Reals, bounds=(0,None), initialize=0)
m.x48 = Var(within=Reals, bounds=(0,None), initialize=0)
m.x49 = Var(within=Reals, bounds=(0,None), initialize=0)
m.x50 = Var(within=Reals, bounds=(0,None), initialize=0)
m.x51 = Var(within=Reals, bounds=(0,None), initialize=0)
m.x52 = Var(within=Reals, bounds=(0,None), initialize=0)
m.x53 = Var(within=Reals, bounds=(0,None), initialize=0)
m.x54 = Var(within=Reals, bounds=(0,None), initialize=0)
m.x55 = Var(within=Reals, bounds=(0,None), initialize=0)
m.x56 = Var(within=Reals, bounds=(0,None), initialize=0)
m.x57 = Var(within=Reals, bounds=(0,None), initialize=0)
m.x58 = Var(within=Reals, bounds=(0,None), initialize=0)
m.x59 = Var(within=Reals, bounds=(0,None), initialize=0)
m.x60 = Var(within=Reals, bounds=(0,None), initialize=0)
m.x61 = Var(within=Reals, bounds=(0,None), initialize=0)
m.x62 = Var(within=Reals, bounds=(0,None), initialize=0)
m.x63 = Var(within=Reals, bounds=(0,None), initialize=0)
m.x64 = Var(within=Reals, bounds=(0,None), initialize=0)
m.x65 = Var(within=Reals, bounds=(0,None), initialize=0)
m.x66 = Var(within=Reals, bounds=(0,None), initialize=0)
m.x67 = Var(within=Reals, bounds=(0,None), initialize=0)
m.b68 = Var(within=Binary, bounds=(0,1), initialize=0)
m.b69 = Var(within=Binary, bounds=(0,1), initialize=0)
m.b70 = Var(within=Binary, bounds=(0,1), initialize=0)
m.b71 = Var(within=Binary, bounds=(0,1), initialize=0)
m.b72 = Var(within=Binary, bounds=(0,1), initialize=0)
m.b73 = Var(within=Binary, bounds=(0,1), initialize=0)
m.b74 = Var(within=Binary, bounds=(0,1), initialize=0)
m.b75 = Var(within=Binary, bounds=(0,1), initialize=0)
m.b76 = Var(within=Binary, bounds=(0,1), initialize=0)
m.b77 = Var(within=Binary, bounds=(0,1), initialize=0)

m.obj = Objective(sense=maximize, expr= 5 * m.x7 - 2 * m.x12 + 200 * m.x20 +
    250 * m.x21 + 200 * m.x22 + 200 * m.x23 + 500 * m.x24 + 350 * m.x25 - 5 *
    m.b68 - 8 * m.b69 - 6 * m.b70 - 10 * m.b71 - 6 * m.b72 - 7 * m.b73 - 4 *
    m.b74 - 5 * m.b75 - 2 * m.b76 - 4 * m.b77)

m.e1 = Constraint(expr= m.x1 - m.x2 - m.x3 == 0)
m.e2 = Constraint(expr= -m.x4 - m.x5 + m.x6 == 0)
m.e3 = Constraint(expr= m.x6 - m.x7 - m.x8 == 0)
m.e4 = Constraint(expr= m.x8 - m.x9 - m.x10 - m.x11 == 0)
m.e5 = Constraint(expr= m.x13 - m.x16 - m.x17 == 0)
m.e6 = Constraint(expr= m.x15 - m.x18 - m.x19 - m.x20 == 0)
m.e7 = Constraint(expr= (m.x30 / (1e-06 + m.b68) - log(m.x26 / (1e-06 + m.b68)
    + 1)) * (1e-06 + m.b68) <= 0)
m.e8 = Constraint(expr= m.x27 == 0)
m.e9 = Constraint(expr= m.x31 == 0)
m.e10 = Constraint(expr= m.x2 - m.x26 - m.x27 == 0)
m.e11 = Constraint(expr= m.x4 - m.x30 - m.x31 == 0)
m.e12 = Constraint(expr= m.x26 - 10 * m.b68 <= 0)
m.e13 = Constraint(expr= m.x27 + 10 * m.b68 <= 10)
m.e14 = Constraint(expr= m.x30 - 2.39789527279837 * m.b68 <= 0)
m.e15 = Constraint(expr= m.x31 + 2.39789527279837 * m.b68 <= 2.39789527279837)
m.e16 = Constraint(expr= (m.x32 / (1e-06 + m.b69) - 1.2 * log(m.x28 / (1e-06 +
    m.b69) + 1)) * (1e-06 + m.b69) <= 0)
m.e17 = Constraint(expr= m.x29 == 0)
m.e18 = Constraint(expr= m.x33 == 0)
m.e19 = Constraint(expr= m.x3 - m.x28 - m.x29 == 0)
m.e20 = Constraint(expr= m.x5 - m.x32 - m.x33 == 0)
m.e21 = Constraint(expr= m.x28 - 10 * m.b69 <= 0)
m.e22 = Constraint(expr= m.x29 + 10 * m.b69 <= 10)
m.e23 = Constraint(expr= m.x32 - 2.87747432735804 * m.b69 <= 0)
m.e24 = Constraint(expr= m.x33 + 2.87747432735804 * m.b69 <= 2.87747432735804)
m.e25 = Constraint(expr= -0.75 * m.x34 + m.x42 == 0)
m.e26 = Constraint(expr= m.x35 == 0)
m.e27 = Constraint(expr= m.x43 == 0)
m.e28 = Constraint(expr= m.x9 - m.x34 - m.x35 == 0)
m.e29 = Constraint(expr= m.x13 - m.x42 - m.x43 == 0)
m.e30 = Constraint(expr= m.x34 - 2.87747432735804 * m.b70 <= 0)
m.e31 = Constraint(expr= m.x35 + 2.87747432735804 * m.b70 <= 2.87747432735804)
m.e32 = Constraint(expr= m.x42 - 2.15810574551853 * m.b70 <= 0)
m.e33 = Constraint(expr= m.x43 + 2.15810574551853 * m.b70 <= 2.15810574551853)
m.e34 = Constraint(expr= (m.x44 / (1e-06 + m.b71) - 1.5 * log(m.x36 / (1e-06 +
    m.b71) + 1)) * (1e-06 + m.b71) <= 0)
m.e35 = Constraint(expr= m.x37 == 0)
m.e36 = Constraint(expr= m.x46 == 0)
m.e37 = Constraint(expr= m.x10 - m.x36 - m.x37 == 0)
m.e38 = Constraint(expr= m.x14 - m.x44 - m.x46 == 0)
m.e39 = Constraint(expr= m.x36 - 2.87747432735804 * m.b71 <= 0)
m.e40 = Constraint(expr= m.x37 + 2.87747432735804 * m.b71 <= 2.87747432735804)
m.e41 = Constraint(expr= m.x44 - 2.03277599268042 * m.b71 <= 0)
m.e42 = Constraint(expr= m.x46 + 2.03277599268042 * m.b71 <= 2.03277599268042)
m.e43 = Constraint(expr= -m.x38 + m.x48 == 0)
m.e44 = Constraint(expr= -0.5 * m.x40 + m.x48 == 0)
m.e45 = Constraint(expr= m.x39 == 0)
m.e46 = Constraint(expr= m.x41 == 0)
m.e47 = Constraint(expr= m.x49 == 0)
m.e48 = Constraint(expr= m.x11 - m.x38 - m.x39 == 0)
m.e49 = Constraint(expr= m.x12 - m.x40 - m.x41 == 0)
m.e50 = Constraint(expr= m.x15 - m.x48 - m.x49 == 0)
m.e51 = Constraint(expr= m.x38 - 2.87747432735804 * m.b72 <= 0)
m.e52 = Constraint(expr= m.x39 + 2.87747432735804 * m.b72 <= 2.87747432735804)
m.e53 = Constraint(expr= m.x40 - 7 * m.b72 <= 0)
m.e54 = Constraint(expr= m.x41 + 7 * m.b72 <= 7)
m.e55 = Constraint(expr= m.x48 - 3.5 * m.b72 <= 0)
m.e56 = Constraint(expr= m.x49 + 3.5 * m.b72 <= 3.5)
m.e57 = Constraint(expr= (m.x58 / (1e-06 + m.b73) - 1.25 * log(m.x50 / (1e-06
    + m.b73) + 1)) * (1e-06 + m.b73) <= 0)
m.e58 = Constraint(expr= m.x51 == 0)
m.e59 = Constraint(expr= m.x59 == 0)
m.e60 = Constraint(expr= m.x16 - m.x50 - m.x51 == 0)
m.e61 = Constraint(expr= m.x21 - m.x58 - m.x59 == 0)
m.e62 = Constraint(expr= m.x50 - 2.15810574551853 * m.b73 <= 0)
m.e63 = Constraint(expr= m.x51 + 2.15810574551853 * m.b73 <= 2.15810574551853)
m.e64 = Constraint(expr= m.x58 - 1.43746550029693 * m.b73 <= 0)
m.e65 = Constraint(expr= m.x59 + 1.43746550029693 * m.b73 <= 1.43746550029693)
m.e66 = Constraint(expr= (m.x60 / (1e-06 + m.b74) - 0.9 * log(m.x52 / (1e-06 +
    m.b74) + 1)) * (1e-06 + m.b74) <= 0)
m.e67 = Constraint(expr= m.x53 == 0)
m.e68 = Constraint(expr= m.x61 == 0)
m.e69 = Constraint(expr= m.x17 - m.x52 - m.x53 == 0)
m.e70 = Constraint(expr= m.x22 - m.x60 - m.x61 == 0)
m.e71 = Constraint(expr= m.x52 - 2.15810574551853 * m.b74 <= 0)
m.e72 = Constraint(expr= m.x53 + 2.15810574551853 * m.b74 <= 2.15810574551853)
m.e73 = Constraint(expr= m.x60 - 1.03497516021379 * m.b74 <= 0)
m.e74 = Constraint(expr= m.x61 + 1.03497516021379 * m.b74 <= 1.03497516021379)
m.e75 = Constraint(expr= (m.x62 / (1e-06 + m.b75) - log(m.x45 / (1e-06 + m.b75)
    + 1)) * (1e-06 + m.b75) <= 0)
m.e76 = Constraint(expr= m.x47 == 0)
m.e77 = Constraint(expr= m.x63 == 0)
m.e78 = Constraint(expr= m.x14 - m.x45 - m.x47 == 0)
m.e79 = Constraint(expr= m.x23 - m.x62 - m.x63 == 0)
m.e80 = Constraint(expr= m.x45 - 2.03277599268042 * m.b75 <= 0)
m.e81 = Constraint(expr= m.x47 + 2.03277599268042 * m.b75 <= 2.03277599268042)
m.e82 = Constraint(expr= m.x62 - 1.10947836929589 * m.b75 <= 0)
m.e83 = Constraint(expr= m.x63 + 1.10947836929589 * m.b75 <= 1.10947836929589)
m.e84 = Constraint(expr= -0.9 * m.x54 + m.x64 == 0)
m.e85 = Constraint(expr= m.x55 == 0)
m.e86 = Constraint(expr= m.x65 == 0)
m.e87 = Constraint(expr= m.x18 - m.x54 - m.x55 == 0)
m.e88 = Constraint(expr= m.x24 - m.x64 - m.x65 == 0)
m.e89 = Constraint(expr= m.x54 - 3.5 * m.b76 <= 0)
m.e90 = Constraint(expr= m.x55 + 3.5 * m.b76 <= 3.5)
m.e91 = Constraint(expr= m.x64 - 3.15 * m.b76 <= 0)
m.e92 = Constraint(expr= m.x65 + 3.15 * m.b76 <= 3.15)
m.e93 = Constraint(expr= -0.6 * m.x56 + m.x66 == 0)
m.e94 = Constraint(expr= m.x57 == 0)
m.e95 = Constraint(expr= m.x67 == 0)
m.e96 = Constraint(expr= m.x19 - m.x56 - m.x57 == 0)
m.e97 = Constraint(expr= m.x25 - m.x66 - m.x67 == 0)
m.e98 = Constraint(expr= m.x56 - 3.5 * m.b77 <= 0)
m.e99 = Constraint(expr= m.x57 + 3.5 * m.b77 <= 3.5)
m.e100 = Constraint(expr= m.x66 - 2.1 * m.b77 <= 0)
m.e101 = Constraint(expr= m.x67 + 2.1 * m.b77 <= 2.1)
m.e102 = Constraint(expr= m.b68 + m.b69 == 1)
m.e103 = Constraint(expr= -m.b70 + m.b73 + m.b74 >= 0)
m.e104 = Constraint(expr= -m.b71 + m.b75 >= 0)
m.e105 = Constraint(expr= m.b68 + m.b69 - m.b70 >= 0)
m.e106 = Constraint(expr= m.b68 + m.b69 - m.b71 >= 0)
m.e107 = Constraint(expr= m.b68 + m.b69 - m.b72 >= 0)
m.e108 = Constraint(expr= m.b70 - m.b73 >= 0)
m.e109 = Constraint(expr= m.b70 - m.b74 >= 0)
m.e110 = Constraint(expr= m.b71 - m.b75 >= 0)
m.e111 = Constraint(expr= m.b72 - m.b76 >= 0)
m.e112 = Constraint(expr= m.b72 - m.b77 >= 0)
