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

from pyomo.environ import *

model = m = ConcreteModel()

m.x1 = Var(within=Reals, bounds=(1e-07,0.08), initialize=0.0739)
m.x2 = Var(within=Reals, bounds=(1e-07,0.08), initialize=0.0061)
m.x3 = Var(within=Reals, bounds=(1e-07,0.3), initialize=0.2773)
m.x4 = Var(within=Reals, bounds=(1e-07,0.3), initialize=0.0227)
m.x5 = Var(within=Reals, bounds=(1e-07,0.62), initialize=0.5731)
m.x6 = Var(within=Reals, bounds=(1e-07,0.62), initialize=0.0469)

m.obj = Objective(sense=minimize, expr= m.x1 * log(m.x1 / (3 * m.x1 + 6 * m.x3
    + m.x5)) + m.x3 * log(m.x3 / (3 * m.x1 + 6 * m.x3 + m.x5)) + m.x5 * log(
    m.x5 / (3 * m.x1 + 6 * m.x3 + m.x5)) - 0.80323071133189 * m.x1 +
    1.79175946922805 * m.x3 + 0.752006 * m.x5 + log(3 * m.x1 + 6 * m.x3 + 1.6 *
    m.x5) * (3 * m.x1 + 6 * m.x3 + 1.6 * m.x5) + 2 * log(m.x1 / (
    2.00000019368913 * m.x1 + 4.64593 * m.x3 + 0.480353 * m.x5)) * m.x1 + m.x1
    * log(m.x1 / (1.00772874182154 * m.x1 + 0.724703350369523 * m.x3 +
    0.947722362492017 * m.x5)) + 6 * log(m.x3 / (3.36359157977228 * m.x1 + 6 *
    m.x3 + 1.13841069150863 * m.x5)) * m.x3 + 1.6 * log(m.x5 / (1.6359356134845
    * m.x1 + 3.39220996773471 * m.x3 + 1.6 * m.x5)) * m.x5 + m.x2 * log(m.x2
    / (3 * m.x2 + 6 * m.x4 + m.x6)) + m.x4 * log(m.x4 / (3 * m.x2 + 6 * m.x4
    + m.x6)) + m.x6 * log(m.x6 / (3 * m.x2 + 6 * m.x4 + m.x6)) -
    0.80323071133189 * m.x2 + 1.79175946922805 * m.x4 + 0.752006 * m.x6 + log(3
    * m.x2 + 6 * m.x4 + 1.6 * m.x6) * (3 * m.x2 + 6 * m.x4 + 1.6 * m.x6) + 2
    * log(m.x2 / (2.00000019368913 * m.x2 + 4.64593 * m.x4 + 0.480353 * m.x6))
    * m.x2 + m.x2 * log(m.x2 / (1.00772874182154 * m.x2 + 0.724703350369523 *
    m.x4 + 0.947722362492017 * m.x6)) + 6 * log(m.x4 / (3.36359157977228 * m.x2
    + 6 * m.x4 + 1.13841069150863 * m.x6)) * m.x4 + 1.6 * log(m.x6 / (
    1.6359356134845 * m.x2 + 3.39220996773471 * m.x4 + 1.6 * m.x6)) * m.x6 - 3
    * log(m.x1) * m.x1 - 6 * log(m.x3) * m.x3 - 1.6 * log(m.x5) * m.x5 - 3 *
    log(m.x2) * m.x2 - 6 * log(m.x4) * m.x4 - 1.6 * log(m.x6) * m.x6)

m.e1 = Constraint(expr= m.x1 + m.x2 == 0.08)
m.e2 = Constraint(expr= m.x3 + m.x4 == 0.3)
m.e3 = Constraint(expr= m.x5 + m.x6 == 0.62)
