discrete_optimization.generic_tasks_tools.solvers.cpsat.objectives package

Submodules

discrete_optimization.generic_tasks_tools.solvers.cpsat.objectives.allocated_tasks module

class discrete_optimization.generic_tasks_tools.solvers.cpsat.objectives.allocated_tasks.AllocatedTasksObjectiveCpSatModeler(solver: GenericSchedulingAutoCpSatSolver[Task, UnaryResource, Skill, NonSkillCumulativeResource, NonRenewableResource], objective_computer: ObjectiveComputer)[source]

Bases: ObjectiveModelerCpSat

get_objective_expr() → LinearExpr[source]

discrete_optimization.generic_tasks_tools.solvers.cpsat.objectives.allocation_changes module

class discrete_optimization.generic_tasks_tools.solvers.cpsat.objectives.allocation_changes.AllocationSwitchModelerCpSat(solver: GenericSchedulingAutoCpSatSolver[Task, UnaryResource, Skill, NonSkillCumulativeResource, NonRenewableResource], objective_computer: ObjectiveComputer)[source]

Bases: ObjectiveModelerCpSat, Generic[Task, UnaryResource]

allocation_change_variables: dict
allocation_change_variables_initialized: bool = False
create_allocation_change_variables()[source]
get_objective_expr() → LinearExpr[source]
init_value: dict
objective_computer: AllocationSwitchObjectiveComputer[Task, UnaryResource]

discrete_optimization.generic_tasks_tools.solvers.cpsat.objectives.allocation_cost module

class discrete_optimization.generic_tasks_tools.solvers.cpsat.objectives.allocation_cost.AllocationCostModelerCpSat(solver: GenericSchedulingAutoCpSatSolver[Task, UnaryResource, Skill, NonSkillCumulativeResource, NonRenewableResource], objective_computer: ObjectiveComputer)[source]

Bases: ObjectiveModelerCpSat

get_objective_expr() → LinearExpr[source]
objective_computer: AllocationCostComputer
class discrete_optimization.generic_tasks_tools.solvers.cpsat.objectives.allocation_cost.AllocationCostMultimodeModelerCpSat(solver: GenericSchedulingAutoCpSatSolver[Task, UnaryResource, Skill, NonSkillCumulativeResource, NonRenewableResource], objective_computer: ObjectiveComputer)[source]

Bases: ObjectiveModelerCpSat

get_objective_expr() → LinearExpr[source]
objective_computer: AllocationCostComputerMultimode

discrete_optimization.generic_tasks_tools.solvers.cpsat.objectives.cumul_objective module

class discrete_optimization.generic_tasks_tools.solvers.cpsat.objectives.cumul_objective.CumulCostModelerCpSat(solver: GenericSchedulingAutoCpSatSolver[Task, UnaryResource, Skill, NonSkillCumulativeResource, NonRenewableResource], objective_computer: CumulCostComputer, modelisation_dispersion: ModelisationDispersion = ModelisationDispersion.EXACT)[source]

Bases: ObjectiveModelerCpSat

get_objective_expr() → LinearExpr[source]
objective_computer: CumulCostComputer
class discrete_optimization.generic_tasks_tools.solvers.cpsat.objectives.cumul_objective.CumulativeObjective(problem: MultimodeAllocationProblem, solver: MultimodeAllocationSolver)[source]

Bases: object

create_cumul_value_duplicated(val_per_task_per_mode: dict[Task, dict[int, int]], name_value: str)[source]
create_cumul_value_implication(val_per_task_per_mode: dict[Task, dict[int, int]], name_value: str)[source]
create_dispersion_objective(val_per_task_per_mode: dict[Task, dict[int, int]], name_value: str, modelisation_dispersion: ModelisationDispersion = ModelisationDispersion.EXACT)[source]
create_variables(val_per_task_per_mode: dict[Task, dict[int, int]], name_value: str)[source]
problem: GenericSchedulingProblem
class discrete_optimization.generic_tasks_tools.solvers.cpsat.objectives.cumul_objective.ModelisationDispersion(*values)[source]

Bases: Enum

EXACT = 0
MAX_DIFF = 1
PROXY_MAX_MIN = 2
PROXY_MIN_MAX = 3
PROXY_SLACK = 5
PROXY_SUM = 4
class discrete_optimization.generic_tasks_tools.solvers.cpsat.objectives.cumul_objective.MultimodeAllocationProblem[source]

Bases: MultimodeProblem[Task], AllocationProblem[Task, UnaryResource]

class discrete_optimization.generic_tasks_tools.solvers.cpsat.objectives.cumul_objective.MultimodeAllocationSolver(problem: Problem, params_objective_function: ParamsObjectiveFunction | None = None, **kwargs: Any)[source]

Bases: AllocationCpSatSolver[Task, UnaryResource], MultimodeCpSatSolver[Task]

discrete_optimization.generic_tasks_tools.solvers.cpsat.objectives.earliness_tardiness module

class discrete_optimization.generic_tasks_tools.solvers.cpsat.objectives.earliness_tardiness.EarlinessTardinessCpSatModeler(problem: SchedulingProblem[Task], weight_objective: float = 1.0, max_start_and_weight_for_tardiness: dict[Task, tuple[int | None, int | None]] = None, max_end_and_weight_for_tardiness: dict[Task, tuple[int | None, int | None]] = None, min_start_and_weight_for_earliness: dict[Task, tuple[int | None, int | None]] = None, min_end_and_weight_for_earliness: dict[Task, tuple[int | None, int | None]] = None)[source]

Bases: ObjectiveModelerCpSat, Generic[Task]

earliness_end_vars: dict
earliness_start_vars: dict
earliness_tardiness_vars_initialized: bool = False
get_objective_expr() → LinearExpr[source]
objective_computer: EarlinessTardinessComputer[Task]
tardiness_end_vars: dict
tardiness_start_vars: dict

discrete_optimization.generic_tasks_tools.solvers.cpsat.objectives.makespan module

class discrete_optimization.generic_tasks_tools.solvers.cpsat.objectives.makespan.MakespanObjectiveModelCpSat(solver: GenericSchedulingAutoCpSatSolver[Task, UnaryResource, Skill, NonSkillCumulativeResource, NonRenewableResource], objective_computer: ObjectiveComputer)[source]

Bases: ObjectiveModelerCpSat

get_objective_expr() → LinearExpr[source]

discrete_optimization.generic_tasks_tools.solvers.cpsat.objectives.mode_cost module

class discrete_optimization.generic_tasks_tools.solvers.cpsat.objectives.mode_cost.ModeCostModelerCpSat(solver: GenericSchedulingAutoCpSatSolver[Task, UnaryResource, Skill, NonSkillCumulativeResource, NonRenewableResource], objective_computer: ObjectiveComputer)[source]

Bases: ObjectiveModelerCpSat

get_objective_expr() → LinearExpr[source]
objective_computer: ModeCostComputer

discrete_optimization.generic_tasks_tools.solvers.cpsat.objectives.objective_modeler module

class discrete_optimization.generic_tasks_tools.solvers.cpsat.objectives.objective_modeler.ObjectiveModelerCpSat(solver: GenericSchedulingAutoCpSatSolver[Task, UnaryResource, Skill, NonSkillCumulativeResource, NonRenewableResource], objective_computer: ObjectiveComputer)[source]

Bases: Generic[Task, UnaryResource, Skill, NonSkillCumulativeResource, NonRenewableResource], ABC

abstractmethod get_objective_expr() → LinearExpr[source]
objective_computer: ObjectiveComputer
solver: GenericSchedulingAutoCpSatSolver[Task, UnaryResource, Skill, NonSkillCumulativeResource, NonRenewableResource]

discrete_optimization.generic_tasks_tools.solvers.cpsat.objectives.resource_levels module

class discrete_optimization.generic_tasks_tools.solvers.cpsat.objectives.resource_levels.CalendarRenewableResourceLevelModelerCpSat(solver: GenericSchedulingAutoCpSatSolver[Task, UnaryResource, Skill, NonSkillCumulativeResource, NonRenewableResource], objective_computer: ObjectiveComputer)[source]

Bases: ObjectiveModelerCpSat

get_objective_expr() → LinearExpr[source]
objective_computer: CalendarRenewableResourceLevelObjectiveComputer
class discrete_optimization.generic_tasks_tools.solvers.cpsat.objectives.resource_levels.NonRenewableResourceLevelModelerCpSat(solver: GenericSchedulingAutoCpSatSolver[Task, UnaryResource, Skill, NonSkillCumulativeResource, NonRenewableResource], objective_computer: ObjectiveComputer)[source]

Bases: ObjectiveModelerCpSat

get_objective_expr() → LinearExpr[source]
objective_computer: NonRenewableResourceLevelObjectiveComputer

discrete_optimization.generic_tasks_tools.solvers.cpsat.objectives.schedule_changes module

class discrete_optimization.generic_tasks_tools.solvers.cpsat.objectives.schedule_changes.ScheduleChangesModelerCpSat(solver: GenericSchedulingAutoCpSatSolver[Task, UnaryResource, Skill, NonSkillCumulativeResource, NonRenewableResource], objective_computer: ObjectiveComputer)[source]

Bases: ObjectiveModelerCpSat

get_objective_expr() → LinearExpr[source]
objective_computer: ScheduleChangesComputer
schedule_changes_initialized: bool = False
variables: dict

discrete_optimization.generic_tasks_tools.solvers.cpsat.objectives.scheduled_tasks module

class discrete_optimization.generic_tasks_tools.solvers.cpsat.objectives.scheduled_tasks.ScheduledTasksCpSatModeler(solver: GenericSchedulingAutoCpSatSolver[Task, UnaryResource, Skill, NonSkillCumulativeResource, NonRenewableResource], objective_computer: ObjectiveComputer)[source]

Bases: ObjectiveModelerCpSat

get_objective_expr() → LinearExpr[source]
objective_computer: ScheduledTasksComputer

discrete_optimization.generic_tasks_tools.solvers.cpsat.objectives.soft_time_penalty module

class discrete_optimization.generic_tasks_tools.solvers.cpsat.objectives.soft_time_penalty.SoftTimePenaltyModelerCpSat(solver: GenericSchedulingAutoCpSatSolver[Task, UnaryResource, Skill, NonSkillCumulativeResource, NonRenewableResource], objective_computer: ObjectiveComputer)[source]

Bases: ObjectiveModelerCpSat

get_objective_expr() → LinearExpr[source]
initialized_variables: bool = False
objective_computer: SoftTimePenaltyComputer
variables: dict

discrete_optimization.generic_tasks_tools.solvers.cpsat.objectives.unary_resource_used module

class discrete_optimization.generic_tasks_tools.solvers.cpsat.objectives.unary_resource_used.UnaryResourcesUsedModelerCpSat(solver: GenericSchedulingAutoCpSatSolver[Task, UnaryResource, Skill, NonSkillCumulativeResource, NonRenewableResource], objective_computer: ObjectiveComputer)[source]

Bases: ObjectiveModelerCpSat

get_objective_expr() → LinearExpr[source]
objective_computer: UnaryResourcesUsedComputer

discrete_optimization.generic_tasks_tools.solvers.cpsat.objectives.utils module

Module contents