Skip to main content

Desktop OR planner

Project description

d-OR-plan

Desktop OR Planner. A desktop wrapper for applications based on the Cornflow-client format. Check out the Cornflow project. Here is a guide on how to configure an app in the right format.

Another option is just to check the tests/data/graph_coloring example that comes inside this project.

Installation

Running uv or pip should work:

Using uv:

uv install dorplan[example]

If reports are required, install the reports dependencies:

uv install dorplan[example, reports]

In the case of Windows, you will also need to install quarto separately. You can find the instructions here.

This is until the quarto team fixes this issue: https://github.com/quarto-dev/quarto-cli/issues/12314

Using pip

python -m pip install dorplan[example]

Testing

If you want to test the example app, run:

uv run dorplan/example/example.py

The example shows a graph-coloring problem, which is a simple optimization problem where the goal is to color the nodes using the least number of colors in a graph such that no two adjacent nodes have the same color.

Many engines are available to solve this problem, such as CP-SAT, and HiGHS via PuLP, networkX, and timefold. For those that take a time limit (all but networkx), you can set it in the GUI. You can also stop the execution if the solver is configured to do it (all but networkx).

Functionality

  • Import and export data (in json format and Excel).
  • Load example data.
  • Solve an instance.
  • Show interactive logs in the GUI.
  • Stop a running solver, if the correct callback is implemented.
  • Kill a running solver, if the correct worker is selected.
  • Generate a report, if a quarto report is available.
  • Open the report in a new browser tab.

How to run it

In its simplest form, you can just pass it the Cornflow ApplicationCore class and the initialized options for the solver. More information on how to create a Cornflow-compatible Application here. Alternatively, check the example in dorplan/tests/data/graph_coloring/__init__.py

The app will be opened in a new window, and you can interact with it.

from dorplan.app import DorPlan
from dorplan.tests.data.graph_coloring import GraphColoring

app = DorPlan(GraphColoring, {})

Functionality

It's possible to load one of the test cases from the app

After setting a time limit, you can solve the instance by clicking on "Generate plan" and look at the progress in the GUI. You can also stop the execution (if the solver is configured to do it).

You can generate a report if the solver has a Quarto report available and you installed the reports dependencies.

The report will then appear on the screen (with terrible format).

report

But you can always open it in a new browser tab by clicking the "Open report" button.

report

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

dorplan-0.8.2.tar.gz (28.0 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

dorplan-0.8.2-py3-none-any.whl (35.9 kB view details)

Uploaded Python 3

File details

Details for the file dorplan-0.8.2.tar.gz.

File metadata

  • Download URL: dorplan-0.8.2.tar.gz
  • Upload date:
  • Size: 28.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.12.9

File hashes

Hashes for dorplan-0.8.2.tar.gz
Algorithm Hash digest
SHA256 b137a26a33af90544001977f59171c973b1d24e112e5b81340f73b69de55cf28
MD5 1aff51b4ec175c915b2a094c8c6d0fa9
BLAKE2b-256 ac18c0013a0097842b47c3f2714fcc4ca3680f2e134a09f4d8c1e1db75c72e60

See more details on using hashes here.

Provenance

The following attestation bundles were made for dorplan-0.8.2.tar.gz:

Publisher: publish-to-test-pypi.yml on pchtsp/dorplan

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file dorplan-0.8.2-py3-none-any.whl.

File metadata

  • Download URL: dorplan-0.8.2-py3-none-any.whl
  • Upload date:
  • Size: 35.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.12.9

File hashes

Hashes for dorplan-0.8.2-py3-none-any.whl
Algorithm Hash digest
SHA256 7262162a1c3e5ce3c4870b8701b391b9bf3d78daac82c930df3c91b1845e3d6c
MD5 52d1e9f6ff4efee14737e4f0d2b3e761
BLAKE2b-256 484ba736c8f0640e1d5a87f777d76ec59d6461c43aadac019a685aa21621e072

See more details on using hashes here.

Provenance

The following attestation bundles were made for dorplan-0.8.2-py3-none-any.whl:

Publisher: publish-to-test-pypi.yml on pchtsp/dorplan

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page