|
1 |
| -# ProcessScheduler |
| 1 | +# ProcessScheduler - A python framework for scheduling and resoure allocation |
2 | 2 |
|
3 | 3 | [](https://www.codacy.com/gh/tpaviot/ProcessScheduler/dashboard?utm_source=github.com&utm_medium=referral&utm_content=tpaviot/ProcessScheduler&utm_campaign=Badge_Grade)
|
4 | 4 | [](https://codecov.io/gh/tpaviot/ProcessScheduler)
|
|
7 | 7 | [](https://badge.fury.io/py/ProcessScheduler)
|
8 | 8 | [](https://doi.org/10.5281/zenodo.4480745)
|
9 | 9 |
|
10 |
| -ProcessScheduler is a versatile Python package designed for creating optimized scheduling in various industrial domains, including manufacturing, construction, healthcare, and more. This tool, aimed at project managers, business organization consultants, or industrial logistics experts, focuses on optimizing time or cost objectives. It offers a robust set of classes and methods to model a wide range of use cases with rich semantics, making it ideal for tackling intricate scheduling challenges. The package simplifies complex mathematical calculations necessary for problem resolution, thereby allowing users to concentrate on problem modeling rather than the computational intricacies, streamlining operations and offering solutions for scenarios that defy straightforward resolutions. |
11 | 10 |
|
12 |
| -Within this toolkit, you'll find a rich array of features, including: |
| 11 | +## What is it intended for? |
13 | 12 |
|
14 |
| -- **Task Definition**: Define tasks with zero, fixed, or variable durations, along with work_amount specifications. |
| 13 | +ProcessScheduler is a versatile Python package designed for creating optimized scheduling in various industrial domains, including manufacturing, construction, healthcare, and more. |
15 | 14 |
|
16 |
| -- **Resource Management**: Create and manage resources, complete with productivity and cost attributes. Efficiently assign resources to tasks. |
| 15 | +## Who is it intended to? |
17 | 16 |
|
18 |
| -- **Temporal Task Constraints**: Handle task temporal constraints such as precedence, fixed start times, and fixed end times. |
| 17 | +Project managers, business organization consultants, industrial logistics experts, teachers and students. |
19 | 18 |
|
20 |
| -- **Resource Constraints**: Manage resource availability and allocation. |
| 19 | +## Core Features: Versatility and Dependability |
21 | 20 |
|
22 |
| -- **Logical Operations**: Employ first-order logic operations to define relationships between tasks and resource constraints, including and/or/xor/not boolean operators, implications, if/then/else conditions. |
| 21 | +**Versatility**: At its core, ProcessScheduler acts as a bridge between specific business requirements and their mathematical representations. It leverages a collection of versatile, business-focused generic classes to represent a broad spectrum of scheduling challenges, effectively translating them into solvable mathematical models. |
23 | 22 |
|
24 |
| -- **Multi-Objective Optimization**: Optimize schedules across multiple objectives. |
| 23 | + |
25 | 24 |
|
26 |
| -- **Gantt Chart Visualization**: Visualize schedules effortlessly with Gantt chart rendering, compatible with both matplotlib and plotly libraries. |
| 25 | +**Dependability**: The reliability of ProcessScheduler is fortified through several key aspects: |
27 | 26 |
|
28 |
| -- **Export Capabilities**: Seamlessly export solutions to JSON format and SMT problems to SMTLIB format. |
| 27 | +- Utilization of the renowned Pydantic Python package for class construction, ensuring robust data validation and settings management. |
29 | 28 |
|
30 |
| -This comprehensive guide will walk you through the process of model creation, solver execution, and solution analysis, making it a valuable resource for harnessing the full potential of ProcessScheduler. |
| 29 | +- A comprehensive suite of unit tests, with the test code volume surpassing the core code by 1.5 times, exemplifying thorough testing protocols. |
| 30 | + |
| 31 | +- High code quality, ranked 'A' rank on Codacy, an automated code review service. |
| 32 | + |
| 33 | +- Almost total code coverage, reaching over 99%, demonstrating the thoroughness of testing and reliability. |
| 34 | + |
| 35 | +- Continuous integration via Microsoft Azure, ensuring consistent and reliable updates and maintenance. |
| 36 | + |
| 37 | +## Prerequisites |
| 38 | +No need to be an expert. To effectively utilize ProcessScheduler, users are expected to have a moderate level of proficiency in both Python programming and the fundamentals of scheduling algorithms. |
0 commit comments