Pulp Overwriting previously set objective エラー

Python線形計画法ソルバーライブラリであるpulpを使っていると、突然以下のエラーが。

warnings.warn("Overwriting previously set objective.")


目的関数を上書きしているぞ、との警告のようですが身に覚えがなかったので、調べていくと、
a = [変数 for *** if 条件]
というリストを作って
problem += sum(a) <= 0
という制約式を作っていたのですが、ここでエラーが起きていました。

詳しく見ると、aが空リストになっていたためsum(a) = 0となっていて、
そのせいで
problem += 0 <= 0
の右辺が式と判断され、右辺にTrue の 1が入り、結果的にこの式が
problem += 1
となってしまい、目的関数を更新するような形になってしまいました。


pulpではリストを用いて条件式を書く場合は、空リストになってしまう可能性のあるところでは
チェックを入れた方が良さそうです。