<!DOCTYPE article PUBLIC "-//NLM//DTD JATS (Z39.96) Journal Archiving and Interchange DTD v1.0 20120330//EN" "JATS-archivearticle1.dtd">
<article xmlns:xlink="http://www.w3.org/1999/xlink">
  <front>
    <journal-meta>
      <issn pub-type="ppub">1613-0073</issn>
    </journal-meta>
    <article-meta>
      <title-group>
        <article-title>Optimos: A Tool for Simulation-Driven Business Process</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>OrlenysLópez-Pintado</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>JannisRosenbaum</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>JonasBerx</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>MarlonDumas</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Workshop</string-name>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>University of Tartu</institution>
          ,
          <country country="EE">Estonia</country>
        </aff>
      </contrib-group>
      <abstract>
        <p />
      </abstract>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>-</title>
      <p>Optimos.</p>
    </sec>
    <sec id="sec-2">
      <title>1. Introduction</title>
      <p>One primary goal of Business Process Management (BPM) is to improve organizational performance to
achieve objectives such as reducing costs and execution times of business proc1e]s.sFeosr[ this purpose,
what-if analysis can help to identify optimal interventions to maximize or minimize performance
measures under specific constraint2s][. For example, an organization can use what-if analysis to
explore diferent stafing schedules within limited working hours, ensuring that resource utilization
remains below 80% and employees do not exceed their maximum allowed working hours, balancing
labor costs and delivery times.</p>
      <p>Business Process (BP) simulation further enhances this capability by providing a powerful technique
for assessing what-if scenario3s][. Using simulation models that act as digital twins, BP simulation
captures the organizations’ behaviors, ofering a detailed representation of real-world processes. These
models enable the prediction of the process performance under current configurations (as-is model) or
hypothetical changes (to-be model). This capability is essential for optimizing business processes, as it
supports process updates that may improve key performance measures, such as resource cost and cycle
times [2].</p>
      <p>This paper presents Optimos, an optimization tool designed to help process analysts to automatically
improve business processes by minimizing cycle times and execution costs through what-if analysis and
simulation. Optimos achieves this by adjusting the allocation of resources to activities and modifying
resource availability calendars. Additionally, the tool allows analysts to define organizational constraints
that restrict the optimization of their resource allocations.</p>
      <p>Achieving an ideal resource configuration that minimizes costs and cycle times is challenging.
Typically, no single configuration can improve both objectives simultaneously. For instance, increasing
the number of resources reduces activity waiting times, shortening the overall cycle time. Similarly, if
resources are less busy due to higher availability or extended working hours, waiting times decrease,
making processes faster. However, having more resources and increased working hours also increases
labor costs. On the other hand, reducing the number of resources or limiting their working hours</p>
      <p>CEUR</p>
      <p>ceur-ws.org
lowers costs but increases waiting times due to busier remaining resources. This trade-of between cost
and time is a key consideration in optimizing business proce3ss]e.s [</p>
      <p>Manually balancing the number of resources and their working hours is challenging for analysts
because it involves considering multiple combinations of variables and constraints. The technical
complexity of exploring a wide range of potential solutions makes finding optimal resource allocations
dificult without automated tools. Optimos aids analysts by automating the process, allowing them to
optimize their resources without requiring any technical background.</p>
    </sec>
    <sec id="sec-3">
      <title>2. Optimos Architecture</title>
      <p>Optimos is a Web-based tool logically structured into three layers, as shown in1F.iTghuereFrontend
layer includes several dashboards that enable user interactioPnr.oTjheects Dashboard is the entry
point for users to manage diferent optimization projects. Within each project, users navigate to the
OptiHub Dashboard, the central hub, displaying the optimization status and current configurations
and allowing users to start new optimizations. Fro mOpttihHeub Dashboard, users can access the
Constraints Dashboard to define and update optimization constraints orRetshuelts Dashboard to
view suggested resource allocations and statistics from ongoing or completed optimizations.</p>
      <p>The API layer is the intermediary between Ftrhoentend andBackend layers. TheServer-Side
Rendering Server retrieves fully-rendered HTML pa-ges to improve performance.APTIheServer
manages business logic, data processing, and secure interactions wiBtahctkheend. This separation
allows each server to be scaled and maintained independentlyA.PTIhSeerver also handlesAssets
provided by the users, such as process models, simulation parameters, or optimization results.
Additionally, it manages authenticatioAunt(h) to ensure secure access to the system, verifying user credentials
and maintaining session security. Finally, tAhPIe Server interacts withDaatabase, storing and
retrieving essential data such as user information, project details, constraints, and results to ensure data
persistence in the system.</p>
      <p>The Backend layer is where the core optimization processes occur.MeTshseage Queue manages
communication and task distribution betweenAPtIheserver andBackend services, ensuring smooth
processing of tasks. ThWeorker Service executes the tasks assigned by tMheessage Queue. The
Optimizer Core is the central component responsible for performing the optimization calculations
and assembling and analyzing the results delivered by each other component. It works closely with the</p>
      <p>Constraints Manager, which manages user-defined constraints, ensuring that optimizations respect
these rules. TheModel Transformer adjusts (if possible) models to fix potentially problematic elements,
like bottleneck activities with high waiting times or over- and underutilized resources, aiming to find
an improved model. TheSimulation Engine performs simulations of each transformed model. It
retrieves the results to tOhpetimizer Core, which assesses the impact of diferent resource allocations
and schedules and accordingly updates the set of optimal solutions.</p>
    </sec>
    <sec id="sec-4">
      <title>3. Functionality</title>
      <p>To interact with Optimos, users must authenticate to accePssrotjheecirts Dashboard. From there,
they can view or create optimization projects. By clicking on a specific project, users are redirected to
theOptiHub Dashboard, where they can edit or delete the selected project.</p>
      <p>An optimization project consists of one or multiple simulation models, each with a BPMN4m]odel [
representing the process control flow and a JSON file with the simulation parameters accord3i]n.g to [
The simulation models supported by Optimos can be generated by Simod following the instructions from
the code repositor1yand uploaded to the project Uvpiaload asset. By clicking the desired simulation
model in theOptiHub Dashboard, users can define constraints to restrict the optimization process. As
shown in Figure2, constraints are divided inGtloobal, Scenario, andResource Constraints.</p>
      <p>
        The Global Constraints (the tab shown in Figur2e) relate to the optimization settings. They
include the maximum number of iterations, the choice of the search algorithm, and the optimization
approach to follow. An iteration refers to one cycle of evaluating potential solutions. Depending on the
selected “Algorithm”, Optimos keeps only optimal solutions at the current iteration and discard the rest
(option HC-STRICT), retains near-optimal solutions for future iterations (HC-FLEX), or considers all
solutions until the iteration limit is reached (TS). The selected “Approach” specifies whether to only
add/remove resources (AR), only update schedules (CA), or combine both. Optimos allows three ways of
combining them: (
        <xref ref-type="bibr" rid="ref1">1</xref>
        ) try to add/remove resources and update schedules simultaneously at each iteration
(CO), (
        <xref ref-type="bibr" rid="ref2">2</xref>
        ) first add/remove resources and then improve schedules (ARCA), or (
        <xref ref-type="bibr" rid="ref3">3</xref>
        ) first optimize schedules
and then adjust the number of resources (CAAR). This allows the optimization process to focus strictly
on improvements or explore a broader range of potential solutions.
      </p>
      <p>Under theScenario Constraints tab, users can set general restrictions for all resources, such as
maximum weekly hours, consecutive working hours (shifts), and daily working limits.,e.g., to define
a rule that resources can work at most in two shifts of 4 hours on working days, with some rest in
between. Then, theResource Constraints tab defines conditions specific to each resource, such as
personal capacity limits and maximum shifts they can work daily or weekly. Additionally, it allows
users to restrict intervals of a day in which a given resource must always work or, conversely, never
work. For example, users can specify that a particular part-time resource can work at most five shifts
of 4 hours per week and must always be available from 9 AM to 12 PM from Monday to Friday but
1https://github.com/AutomatedProcessImprovement/Simod
never work after 1 PM or on weekends. Finally, thCeonstraint Validation tab displays and allows to
correct all the potential errors on the constraint definitions, e.g., if they contradict the current calendars
of a given resource in the simulation model. If all the constraints are valid (green), users can start the
optimization by clicking the corresponding button.</p>
      <p>Users can view the processing queue for ongoing and completed simulations on the right side of
theOptiHub Dashboard (see Figure2). By clicking on an entry, they can access detailed optimization
reports. These reports show metrics like estimated mean costs, mean times, and average resource
utilization achieved at each iteration, helping users compare improvements to the original process.</p>
      <p>For example, Figure3 illustrates the general results after optimizing a business process, including
a scatter plot, average costs and cycle times, and comparisons to the initial solution. The scatter plot
shows the performance achieved by the solutions explored by the optimizer, with the y-axis representing
cost and the x-axis representing cycle time. It highlights the initial solution (red dot), optimal solutions
(blue dots), and other (sub-optimal) solutions (gray dots). This visual plot aids users in getting general
insights into the distribution of costs and cycle times and how they improve across iterations. Also,
by clicking any solution in the chart, optimal or not, users can get more detailed information for each
resource allocation, such as assigned tasks, total working times, hourly rates, and timetable changes.</p>
      <p>Next, Figure4 displays the information regarding a specific solution, i.e., corresponding to the 75th
allocation assessed by the optimizer. While the values in the general chart (3F)iaguggrreegate all the
optimal allocations, the values shown in Figu4rfeocus only on the costs and cycle times achieved with
the current allocation. It also shows average resource utilization and improvements over the original
allocation. Specifically, in this allocation, the optimizer detected that two clerks are unused, suggesting
they are unnecessary, and their exclusion leads to improvements. Indeed, the unused clerks’ dynamic
information, like utilization, cost, and available time, is missing as they did not participate in the
simulated execution. In the example used for this demo, four clerks were underutilized initially, while
only one credit oficer was overutilized, causing increased waiting times and a bottleneck. Therefore,
although not shown in the figure, the optimizer also identified that adding more credit oficers or
extending their schedules could lead to an optimal allocation. Users can also click on any resource (e.g.,
Clerk-2) to see allocated tasks and their adjusted timetables after optimization.</p>
      <p>In this way, analysts can understand how each iteration adjusts the resource allocations and timetables
to enhance performance. Users can review these results and choose a resource allocation from the
solutions produced at each iteration based on their preferences for balancing time and cost. Optimos
allows users to stop the optimization process at any point if they are satisfied with the results.</p>
    </sec>
    <sec id="sec-5">
      <title>4. Availability and Maturity</title>
      <p>Optimos is accessible as a cloud service frohmttps://pix-w1.cloud.ut.e.eD/ocumentation of Optimos and
the source code of thBeackend can be found athttps://github.com/AutomatedProcessImprovement/
roptimus-prim.eThis GitHub repository contains links to separate repositories for the frontend and
backend (API) layers. A demonstration video of Optimos is availabhltetapts://youtu.be/jBtBEwO-w T.4
The example file containing the simulation model and constraints used in the video can be found in the
Optimos repositoryh:ttps://github.com/AutomatedProcessImprovement/roptimus-prime/raw/main/
test_assets/demo/Demo%20Files.z.ip</p>
      <p>Optimos implements the optimization approaches presente5d,3i]n. [The first paper [5] describes a
basic model with resources grouped in pools. The optimizer may add or remove resources to reduce
cycle times and costs. The second pape3r] p[roposes a more sophisticated model with diferentiated
resources, where each resource has its own availability and performance. The optimizer may add or
remove resources or change the timetable of a resource while ensuring that the optimized timetables
fulfill a given set of constraints (e.g., no more than 40 hours per week). Optimos relies on Pros6i,m3o]s [
as a simulation engine to estimate the impact after transforming the model in each iteration.</p>
    </sec>
    <sec id="sec-6">
      <title>Acknowledgments</title>
      <p>Work funded by European Research Council (PIX project) and the Estonian Centre of Excellence in
Artificial Intelligence funded by the Estonian Ministry of Education and Research.</p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          [1]
          <string-name>
            <given-names>M.</given-names>
            <surname>Dumas</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M. L.</given-names>
            <surname>Rosa</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J.</given-names>
            <surname>Mendling</surname>
          </string-name>
          ,
          <string-name>
            <given-names>H. A.</given-names>
            <surname>Reijers</surname>
          </string-name>
          , Fundamentals of Business Process Management,
          <source>Second Edition</source>
          , Springer,
          <year>2018</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          [2]
          <string-name>
            <given-names>M.</given-names>
            <surname>Dumas</surname>
          </string-name>
          ,
          <article-title>Constructing digital twins for accurate and reliable what-if business process analysis</article-title>
          ,
          <source>in: BPM Workshops</source>
          , volume
          <volume>2938</volume>
          ofCEUR Workshop Proceedings, CEUR-WS.org,
          <year>2021</year>
          , pp.
          <fpage>23</fpage>
          -
          <lpage>27</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          [3]
          <string-name>
            <given-names>O.</given-names>
            <surname>López-Pintado</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Dumas</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J.</given-names>
            <surname>Berx</surname>
          </string-name>
          , Discovery, simulation, and
          <article-title>optimization of business processes with diferentiated resources</article-title>
          ,
          <source>Inf. Syst</source>
          .
          <volume>120</volume>
          (
          <year>2024</year>
          )
          <fpage>102289</fpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          [4]
          <string-name>
            <given-names>O. M.</given-names>
            <surname>Group</surname>
          </string-name>
          ,
          <article-title>Business Process Model and Notation (BPMN</article-title>
          ),
          <source>Version 2.0.2</source>
          ,
          <year>2013</year>
          . UhRtLt:p://www. omg.org/spec/BPMN/2.0.2./
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          [5]
          <string-name>
            <given-names>O.</given-names>
            <surname>López-Pintado</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Dumas</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Yerokhin</surname>
          </string-name>
          ,
          <string-name>
            <given-names>F. M.</given-names>
            <surname>Maggi</surname>
          </string-name>
          ,
          <article-title>Silhouetting the cost-time front: Multiobjective resource optimization in business processes</article-title>
          ,
          <source>in: BPM Forum</source>
          , volume
          <volume>42L7NBoIfP</volume>
          , Springer,
          <year>2021</year>
          , pp.
          <fpage>92</fpage>
          -
          <lpage>108</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          [6]
          <string-name>
            <given-names>O.</given-names>
            <surname>López-Pintado</surname>
          </string-name>
          ,
          <string-name>
            <surname>I. Halenok</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Dumas</surname>
          </string-name>
          ,
          <article-title>Prosimos: Discovering and simulating business processes with diferentiated resources</article-title>
          ,
          <source>in: EDOC Demos, volume 466LoNf BIP</source>
          , Springer,
          <year>2022</year>
          , pp.
          <fpage>346</fpage>
          -
          <lpage>352</lpage>
          .
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>