"""Module for shared exceptions in the Cobra package."""
import optlang.interface
[docs]class OptimizationError(Exception):
"""Exception for Optimization issues."""
def __init__(self, message):
"""Inherit parent behaviors."""
super(OptimizationError, self).__init__(message)
[docs]class Infeasible(OptimizationError):
"""Exception for Infeasible issues."""
pass
[docs]class Unbounded(OptimizationError):
"""Exception for Unbounded issues."""
pass
[docs]class FeasibleButNotOptimal(OptimizationError):
"""Exception for Non-Optimal issues."""
pass
[docs]class UndefinedSolution(OptimizationError):
"""Exception for Undefined issues."""
pass
[docs]class SolverNotFound(Exception):
"""A simple Exception when a solver can not be found."""
pass
[docs]OPTLANG_TO_EXCEPTIONS_DICT = dict(
(
(optlang.interface.INFEASIBLE, Infeasible),
(optlang.interface.UNBOUNDED, Unbounded),
(optlang.interface.FEASIBLE, FeasibleButNotOptimal),
(optlang.interface.UNDEFINED, UndefinedSolution),
)
)