4

Bot for getting better insight and reporting purposes, I am looking for a way to visualize results to the Resource-Constrained Project Scheduling Problem (RCPSP). I am aware that such results are most often represented by a resource Gantt chart. An example of such a visualization is the following from a well-known paper by Kolisch and Hartmann:

enter image description here

This example instance comprises 6 activities and only one resource with capacity 4.

I like this kind of visualization for its simplicity. Instead of writing a visualization script myself, I was wondering if there are any tools out there that could do this for me?

Rutger
  • 115
  • 4
  • It blows my mind how every 'algorithm' I've ever learned is essentially a solution to an OR Problem. Case in point: I learnt about Gantt Charts when studying methods of job scheduling by a processor in Operating Systems. – Raghav Thakar Jun 14 '22 at 15:19

4 Answers4

5

In the IBM CPLEX IDE if you run the sched_rcpsp example you will see

gantt in cplex IDE

With python you can use docplex.cp.utils_visu as can be read in medium article Gantt chart visualizations with python and OPL scheduling models

enter image description here

Alex Fleischer
  • 4,000
  • 5
  • 11
3

Please be aware that, there are two types of Gantt charts in the practical situation. First, the task Gantt chart and the second resource Gantt chart.

Besides the python library proposed by @fontanf, I think still the simplest way to depict the result of such a problem is to use some useful separate sheet templates like this. Also, some open-source libraries like Nebula GANTT Chart Widget (in java) would be interesting.

A.Omidi
  • 8,832
  • 2
  • 13
  • 49
2

You can use Plotly (examples)

fontanf
  • 2,623
  • 6
  • 11
2

I would consider using Google Charts: https://developers.google.com/chart/interactive/docs/gallery/ganttchart

You would have to write a small pipeline that takes your result and plugs it into the JavaScript section of the Chart.

I know you said you don't want to write a script yourself, but it may be hard to find a tool that fits on top of your existing implementation (especially if you're using different packages).

Raghav Thakar
  • 325
  • 1
  • 10