JijModeling 1.13.3 Release Notes

JijModeling 1.13.3 Release Notes#

Bugfixes#

min / max on Expressions without decisionVariables#

In the earlier versions, jm.min / jm.max mistakenly rejects expressions even without decision variables:

import jijmodeling as jm
a = jm.Placeholder("a")
b = jm.Placeholder("b")
x = jm.BinaryVar("x")

problem = jm.Problem("test")
problem += jm.max(a, b) * x

instance_data = {"a": 5, "b": 3}
instance = jm.Interpreter(instance_data).eval_problem(problem)
File "/var/folders/mg/mg6st30d18s7pxjjrk6pkxym0000gn/T/ipykernel_86045/4233095995.py", line 7, col 12-24:

    7  |  problem += jm.max(a, b) * x
                     ^^^^^^^^^^^^

min and max operations are not supported for decision variables

Since 1.13.3, it now accepts min and max on expressions which doesn’t include decision variables:

import jijmodeling as jm
a = jm.Placeholder("a")
b = jm.Placeholder("b")
x = jm.BinaryVar("x")

problem = jm.Problem("test")
problem += jm.max(a + 1, b) * x

instance_data = {"a": 5, "b": 3}
instance = jm.Interpreter(instance_data).eval_problem(problem)