pm4py.util.lp.variants package#

PM4Py – A Process Mining Library for Python

Copyright (C) 2024 Process Intelligence Solutions UG (haftungsbeschränkt)

This program is free software: you can redistribute it and/or modify it under the terms of the GNU Affero General Public License as published by the Free Software Foundation, either version 3 of the License, or any later version.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero General Public License for more details.

You should have received a copy of the GNU Affero General Public License along with this program. If not, see this software project’s root or visit <https://www.gnu.org/licenses/>.

Website: https://processintelligence.solutions Contact: info@processintelligence.solutions

Submodules#

pm4py.util.lp.variants.cvxopt_solver module#

PM4Py – A Process Mining Library for Python

Copyright (C) 2024 Process Intelligence Solutions UG (haftungsbeschränkt)

This program is free software: you can redistribute it and/or modify it under the terms of the GNU Affero General Public License as published by the Free Software Foundation, either version 3 of the License, or any later version.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero General Public License for more details.

You should have received a copy of the GNU Affero General Public License along with this program. If not, see this software project’s root or visit <https://www.gnu.org/licenses/>.

Website: https://processintelligence.solutions Contact: info@processintelligence.solutions

pm4py.util.lp.variants.cvxopt_solver.apply(c, Aub, bub, Aeq, beq, parameters=None)[source]#

Gets the overall solution of the problem

Parameters#

c

c parameter of the algorithm

Aub

A_ub parameter of the algorithm

bub

b_ub parameter of the algorithm

Aeq

A_eq parameter of the algorithm

beq

b_eq parameter of the algorithm

parameters

Possible parameters of the algorithm

Returns#

sol

Solution of the LP problem by the given algorithm

pm4py.util.lp.variants.cvxopt_solver.get_prim_obj_from_sol(sol, parameters=None)[source]#

Gets the primal objective from the solution of the LP problem

Parameters#

sol

Solution of the ILP problem by the given algorithm

parameters

Possible parameters of the algorithm

Returns#

prim_obj

Primal objective

pm4py.util.lp.variants.cvxopt_solver.get_points_from_sol(sol, parameters=None)[source]#

Gets the points from the solution

Parameters#

sol

Solution of the LP problem by the given algorithm

parameters

Possible parameters of the algorithm

Returns#

points

Point of the solution

pm4py.util.lp.variants.cvxopt_solver_custom_align module#

PM4Py – A Process Mining Library for Python

Copyright (C) 2024 Process Intelligence Solutions UG (haftungsbeschränkt)

This program is free software: you can redistribute it and/or modify it under the terms of the GNU Affero General Public License as published by the Free Software Foundation, either version 3 of the License, or any later version.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero General Public License for more details.

You should have received a copy of the GNU Affero General Public License along with this program. If not, see this software project’s root or visit <https://www.gnu.org/licenses/>.

Website: https://processintelligence.solutions Contact: info@processintelligence.solutions

pm4py.util.lp.variants.cvxopt_solver_custom_align.custom_solve_lp(c, G, h, A, b)[source]#
pm4py.util.lp.variants.cvxopt_solver_custom_align.apply(c, Aub, bub, Aeq, beq, parameters=None)[source]#

Gets the overall solution of the problem

Parameters#

c

c parameter of the algorithm

Aub

A_ub parameter of the algorithm

bub

b_ub parameter of the algorithm

Aeq

A_eq parameter of the algorithm

beq

b_eq parameter of the algorithm

parameters

Possible parameters of the algorithm

Returns#

sol

Solution of the LP problem by the given algorithm

pm4py.util.lp.variants.cvxopt_solver_custom_align.get_prim_obj_from_sol(sol, parameters=None)[source]#

Gets the primal objective from the solution of the LP problem

Parameters#

sol

Solution of the ILP problem by the given algorithm

parameters

Possible parameters of the algorithm

Returns#

prim_obj

Primal objective

pm4py.util.lp.variants.cvxopt_solver_custom_align.get_points_from_sol(sol, parameters=None)[source]#

Gets the points from the solution

Parameters#

sol

Solution of the LP problem by the given algorithm

parameters

Possible parameters of the algorithm

Returns#

points

Point of the solution

pm4py.util.lp.variants.cvxopt_solver_custom_align_ilp module#

PM4Py – A Process Mining Library for Python

Copyright (C) 2024 Process Intelligence Solutions UG (haftungsbeschränkt)

This program is free software: you can redistribute it and/or modify it under the terms of the GNU Affero General Public License as published by the Free Software Foundation, either version 3 of the License, or any later version.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero General Public License for more details.

You should have received a copy of the GNU Affero General Public License along with this program. If not, see this software project’s root or visit <https://www.gnu.org/licenses/>.

Website: https://processintelligence.solutions Contact: info@processintelligence.solutions

class pm4py.util.lp.variants.cvxopt_solver_custom_align_ilp.Parameters(value, names=<not given>, *values, module=None, qualname=None, type=None, start=1, boundary=None)[source]#

Bases: Enum

INTEGRALITY = 'integrality'#
pm4py.util.lp.variants.cvxopt_solver_custom_align_ilp.check_lp_sol_is_integer(x)[source]#
pm4py.util.lp.variants.cvxopt_solver_custom_align_ilp.custom_solve_ilp(c, G, h, A, b, I)[source]#
pm4py.util.lp.variants.cvxopt_solver_custom_align_ilp.apply(c, Aub, bub, Aeq, beq, parameters=None)[source]#

Gets the overall solution of the problem

Parameters#

c

c parameter of the algorithm

Aub

A_ub parameter of the algorithm

bub

b_ub parameter of the algorithm

Aeq

A_eq parameter of the algorithm

beq

b_eq parameter of the algorithm

parameters

Possible parameters of the algorithm

Returns#

sol

Solution of the LP problem by the given algorithm

pm4py.util.lp.variants.cvxopt_solver_custom_align_ilp.get_prim_obj_from_sol(sol, parameters=None)[source]#

Gets the primal objective from the solution of the LP problem

Parameters#

sol

Solution of the ILP problem by the given algorithm

parameters

Possible parameters of the algorithm

Returns#

prim_obj

Primal objective

pm4py.util.lp.variants.cvxopt_solver_custom_align_ilp.get_points_from_sol(sol, parameters=None)[source]#

Gets the points from the solution

Parameters#

sol

Solution of the LP problem by the given algorithm

parameters

Possible parameters of the algorithm

Returns#

points

Point of the solution

pm4py.util.lp.variants.pulp_solver module#

PM4Py – A Process Mining Library for Python

Copyright (C) 2024 Process Intelligence Solutions UG (haftungsbeschränkt)

This program is free software: you can redistribute it and/or modify it under the terms of the GNU Affero General Public License as published by the Free Software Foundation, either version 3 of the License, or any later version.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero General Public License for more details.

You should have received a copy of the GNU Affero General Public License along with this program. If not, see this software project’s root or visit <https://www.gnu.org/licenses/>.

Website: https://processintelligence.solutions Contact: info@processintelligence.solutions

class pm4py.util.lp.variants.pulp_solver.Parameters(value, names=<not given>, *values, module=None, qualname=None, type=None, start=1, boundary=None)[source]#

Bases: Enum

REQUIRE_ILP = 'require_ilp'#
INTEGRALITY = 'integrality'#
BOUNDS = 'bounds'#
pm4py.util.lp.variants.pulp_solver.solver(prob)[source]#
pm4py.util.lp.variants.pulp_solver.get_variable_name(index)[source]#

Generates a variable name with leading zeros to ensure consistent length.

pm4py.util.lp.variants.pulp_solver.apply(c, Aub, bub, Aeq=None, beq=None, parameters=None)[source]#

Solves a linear programming problem using PuLP with all inputs as Python lists or lists of lists.

pm4py.util.lp.variants.pulp_solver.get_prim_obj_from_sol(sol, parameters=None)[source]#

Retrieves the objective value from the solved LP problem.

pm4py.util.lp.variants.pulp_solver.get_points_from_sol(sol, parameters=None)[source]#

Retrieves the values of the decision variables from the solved LP problem.

pm4py.util.lp.variants.scipy_solver module#

PM4Py – A Process Mining Library for Python

Copyright (C) 2024 Process Intelligence Solutions UG (haftungsbeschränkt)

This program is free software: you can redistribute it and/or modify it under the terms of the GNU Affero General Public License as published by the Free Software Foundation, either version 3 of the License, or any later version.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero General Public License for more details.

You should have received a copy of the GNU Affero General Public License along with this program. If not, see this software project’s root or visit <https://www.gnu.org/licenses/>.

Website: https://processintelligence.solutions Contact: info@processintelligence.solutions

class pm4py.util.lp.variants.scipy_solver.Parameters[source]#

Bases: object

INTEGRALITY = 'integrality'#
METHOD = 'method'#
BOUNDS = 'bounds'#
pm4py.util.lp.variants.scipy_solver.apply(c: list, Aub: ndarray, bub: matrix, Aeq: matrix, beq: matrix, parameters: Dict[Any, Any] | None = None) OptimizeResult[source]#
pm4py.util.lp.variants.scipy_solver.get_prim_obj_from_sol(sol: OptimizeResult, parameters: Dict[Any, Any] | None = None) int[source]#
pm4py.util.lp.variants.scipy_solver.get_points_from_sol(sol: OptimizeResult, parameters: Dict[Any, Any] | None = None) List[int][source]#