 
 varList = new ModelList(solver)
 
-feature = varList.addVariable 'Features', 0, 0, 100
 cost = varList.addVariable 'Cost', 0, -100, 100
 time = varList.addVariable 'Time', 0, -100, 100
+feature = varList.addVariable 'Features', 0, 0, 100
 
 #solver.addConstraint (new c.Equation c.minus(feature, c.divide(time, 2))), 0, c.Strength.weak, 0
 

balance = new c.Equation formula, 0, c.Strength.required, 0
solver.addConstraint balance

solver.addEditVar(cost, c.Strength.strong).beginEdit()
solver.addEditVar(feature, c.Strength.strong).beginEdit()
solver.addEditVar(time, c.Strength.strong).beginEdit()
solver.suggestValue(cost, 0)
solver.suggestValue(feature, 0)

            min: min
            max: max

        this.solver.addConstraint new c.Inequality(variable, c.GEQ, min, c.Strength.required, 0)
        this.solver.addConstraint new c.Inequality(variable, c.LEQ, max, c.Strength.required, 0)
        this.solver.addConstraint new c.StayConstraint(variable, c.Strength.medium, 0)

        return variable

