E-PE0101 — Cyclic dependency between parameters

Error Type

Protobuf Error

Phase

saving a model via protobuf (to_protobuf)

Python exception

jijmodeling.ProtobufError

Message

Cyclic dependency between parameters in the problem namespace.

The model cannot be serialized.

Possible fix: break the cycle by removing one of the references forming the cycle.

Cause

Two or more objects in the problem namespace (placeholders, decision variables, or named expressions) are defined in terms of each other, forming a cycle — for example, a placeholder whose shape refers to a variable whose bounds refer back to that placeholder. Such a model has no valid definition order and cannot be serialized.

Fix

Break the cycle: make one of the mutually referencing definitions independent (e.g. give it a concrete shape or bound instead of referring to the other object).