pm4py.algo.simulation.montecarlo.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.algo.simulation.montecarlo.variants.petri_semaph_fifo 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.algo.simulation.montecarlo.variants.petri_semaph_fifo.Parameters(value, names=<not given>, *values, module=None, qualname=None, type=None, start=1, boundary=None)[source]#
Bases:
Enum- ACTIVITY_KEY = 'pm4py:param:activity_key'#
- TIMESTAMP_KEY = 'pm4py:param:timestamp_key'#
- TOKEN_REPLAY_VARIANT = 'token_replay_variant'#
- PARAM_NUM_SIMULATIONS = 'num_simulations'#
- PARAM_FORCE_DISTRIBUTION = 'force_distribution'#
- PARAM_ENABLE_DIAGNOSTICS = 'enable_diagnostics'#
- PARAM_DIAGN_INTERVAL = 'diagn_interval'#
- PARAM_CASE_ARRIVAL_RATIO = 'case_arrival_ratio'#
- PARAM_PROVIDED_SMAP = 'provided_stochastic_map'#
- PARAM_MAP_RESOURCES_PER_PLACE = 'map_resources_per_place'#
- PARAM_DEFAULT_NUM_RESOURCES_PER_PLACE = 'default_num_resources_per_place'#
- PARAM_SMALL_SCALE_FACTOR = 'small_scale_factor'#
- PARAM_MAX_THREAD_EXECUTION_TIME = 'max_thread_exec_time'#
- pm4py.algo.simulation.montecarlo.variants.petri_semaph_fifo.simulate_case(case_id, net, im, fm, smap, start_time, places_interval_trees, transitions_interval_trees, cases_ex_time, list_cases, small_scale_factor)[source]#
Generator that simulates a single case. Instead of sleeping, it yields its current virtual (simulation) time.
- pm4py.algo.simulation.montecarlo.variants.petri_semaph_fifo.run_simulation_generators(sim_gens)[source]#
Runs the simulation generators concurrently (in virtual time) using a priority queue.
- pm4py.algo.simulation.montecarlo.variants.petri_semaph_fifo.apply(log, net, im, fm, parameters=None)[source]#
Performs a Monte Carlo simulation of an accepting Petri net using a generator-based scheduler.
- Parameters:
log : Event log. net : Petri net. im : Initial marking. fm : Final marking. parameters : Dictionary of simulation parameters.
- Returns:
A tuple (simulated_log, simulation_result) where simulation_result is a dictionary:
- simulation_result = {
“output_places_interval_trees”: places_interval_trees, “output_transitions_interval_trees”: transitions_interval_trees_named, “cases_ex_time”: cases_ex_time, “median_cases_ex_time”: median(cases_ex_time), “case_arrival_ratio”: case_arrival_ratio, “total_cases_time”: max_timestamp - min_timestamp,
}