discrete_optimization.generic_rcpsp_tools package

Subpackages

Submodules

discrete_optimization.generic_rcpsp_tools.attribute_type module

class discrete_optimization.generic_rcpsp_tools.attribute_type.ListIntegerRcpsp(length: int, lows: list[int] | int = 0, ups: list[int] | int | None = None, arities: list[int] | int | None = None)[source]

Bases: ListInteger

Attribute type permutation specific to RcpspSolution.

Useful to make mutation catalog map RcpspSolution attribute to specific mutations.

class discrete_optimization.generic_rcpsp_tools.attribute_type.PermutationRcpsp(range: Collection[int])[source]

Bases: Permutation

Attribute type permutation specific to RcpspSolution.

Useful to make mutation catalog map RcpspSolution attribute to specific mutations.

discrete_optimization.generic_rcpsp_tools.graph_tools module

class discrete_optimization.generic_rcpsp_tools.graph_tools.GraphRcpsp(problem: RcpspProblem | PreemptiveRcpspProblem | MultiskillRcpspProblem | VariantMultiskillRcpspProblem)[source]

Bases: object

check_loop()[source]
compute_component_in_non_dummy_graph()[source]
get_ancestors_activities(task)[source]
get_descendants_activities(task)[source]
get_next_activities(task)[source]
get_pred_activities(task)[source]
class discrete_optimization.generic_rcpsp_tools.graph_tools.GraphSpecialConstraintsRcpsp(problem: RcpspProblem | SpecialConstraintsPreemptiveRcpspProblem)[source]

Bases: GraphRcpsp

get_neighbors_constraints(task)[source]
get_pred_constraints(task)[source]
discrete_optimization.generic_rcpsp_tools.graph_tools.build_graph_rcpsp_object(rcpsp_problem: RcpspProblem | PreemptiveRcpspProblem)[source]
discrete_optimization.generic_rcpsp_tools.graph_tools.build_unrelated_task(graph: GraphRcpsp)[source]

discrete_optimization.generic_rcpsp_tools.mutation module

class discrete_optimization.generic_rcpsp_tools.mutation.DeadlineRcpspMutation(problem: RcpspProblem | PreemptiveRcpspProblem | SpecialConstraintsPreemptiveRcpspProblem | VariantMultiskillRcpspProblem, attribute: str | None = None, nb_swap: int = 1, **kwargs: Any)[source]

Bases: SingleAttributeMutation

attribute_type: PermutationRcpsp
attribute_type_cls

alias of PermutationRcpsp

mutate(solution: PreemptiveRcpspSolution | RcpspSolution | VariantMultiskillRcpspSolution | VariantPreemptiveMultiskillRcpspSolution) tuple[PreemptiveRcpspSolution | RcpspSolution | VariantMultiskillRcpspSolution | VariantPreemptiveMultiskillRcpspSolution, LocalMove][source]
problem: ANY_RCPSP_FOR_MUTATION
class discrete_optimization.generic_rcpsp_tools.mutation.RcpspMutation(problem: RcpspProblem | PreemptiveRcpspProblem | SpecialConstraintsPreemptiveRcpspProblem | VariantMultiskillRcpspProblem, other_mutation: SingleAttributeMutation, **kwargs: Any)[source]

Bases: SingleAttributeMutation

Wrapper around other mutations which makes recompute the schedule.

attribute_type: PermutationRcpsp
attribute_type_cls

alias of PermutationRcpsp

classmethod build(problem: Problem, other_mutation_cls: type[SingleAttributeMutation], **kwargs: Any) RcpspMutation[source]
mutate(solution: PreemptiveRcpspSolution | RcpspSolution | VariantMultiskillRcpspSolution | VariantPreemptiveMultiskillRcpspSolution) tuple[PreemptiveRcpspSolution | RcpspSolution | VariantMultiskillRcpspSolution | VariantPreemptiveMultiskillRcpspSolution, LocalMove][source]
mutate_and_compute_obj(solution: PreemptiveRcpspSolution | RcpspSolution | VariantMultiskillRcpspSolution | VariantPreemptiveMultiskillRcpspSolution) tuple[PreemptiveRcpspSolution | RcpspSolution | VariantMultiskillRcpspSolution | VariantPreemptiveMultiskillRcpspSolution, LocalMove, dict[str, float]][source]
problem: ANY_RCPSP_FOR_MUTATION

discrete_optimization.generic_rcpsp_tools.typing module

discrete_optimization.generic_rcpsp_tools.typing.is_instance_any_rcpsp_problem(problem: Problem) bool[source]
discrete_optimization.generic_rcpsp_tools.typing.is_instance_any_rcpsp_solution(solution: Solution) bool[source]

Module contents