Resources Optimization

This tool of Optimization of resources is used to minimize the number of resources required to achieve given tasks. It can be used to minimize the number of machines or trucks required to perform tasks, to optimize the allocation of persons to tasks...

Data Input

Number of Tasks in List: 0

Control Panel

What is it?

This tool is an online optimization tool for optimizing resources usage. Its goal is to reduce to the minimum possible the number of resources that are required to perform a defined set of tasks (that are time bounded).

What can it be used for?

This resources optimization tool can be used in various cases to reduce the number of required resources to perform the designated tasks. Example of use cases:

  • We are having a set of tasks that should be done using a specific type of machine (for example a chainsaw), those tasks are planned and time bounded and some of those tasks are happening in parallel. We don't own the machines so we need to rent them and we want to know what is the minimum number of machines we need to rent to be able to perform the tasks we need in the designated timeframe.
  • In Logistics, you are having a set of routes (tasks) for which you need to pick-up freight in different locations. Those routes are time bounded. You want to know what is the minimum number of trucks required to do those pick-ups in order to minimise your cost.
  • You have a set of tasks that need to be achieved within a certain timeframe. You want to know what is the minimum number of persons required to be able to achieve those tasks on time. If you plan to use the tool for this objective, it is important to note that we consider that: all the persons are considered to have the same working hours and that the working hours (including breaks) are defined based on start and end of tasks (e.g. if there are no tasks before 8 am, 8 am will be considered as the earliest all the workers can start. Similarly, if there are no tasks between 12 am and 1 pm, this would be considered as lunch break for all workers). In this tool version, we are just trying to have the minimum possible number of persons, but we are not trying to have a balanced working time between the persons (e.g. we could have one person working 1 hour and another one 10 hours.).

What are the limits of this tool?

Unfortunately, as optimization problems can quickly take quite some calculation time to solve, I had to limitate the problem size to avoid too long waiting time before showing result and too high server usage that would make website unusable for other users.

The limits in place are the following:

  • You can have a maximum of 45 tasks. Above that limit, we don't allow the calculation
  • The maximum number of resources allowed is 25. If ever your problem was requiring more than those 25 resources, you will get an error message 'Infeasible' after the tool attempted to do the optimization
  • Finally, there is also a time precision limitation: we work with a level of precision of 15min (even though, you can input the times with a precision of one minute). Concretely, it means that if you have a task that starts at 13:42 and finishes at 14:13, we consider that it starts at 13:30 (rounded down) and finishes at 14:15 (rounded up). This is once again to limitate calculation time. This element might make that you don't get the absolute optimum answer because a task that starts at 14:12 cannot use the same resource as a previous task that was finishing at 14:05.

How to use it?

As an input, you only need to fill in the list of tasks that you want to allocate to resources / machines / persons as well as their start and end time. Finally, click on . The calculation will start (it may take few seconds of waiting before sending you back the result). Then allocation of tasks to resources will be visible on the graph at the top of the page.

How to input the list of tasks?

To input the list of tasks, you can:

  1. Input the list of tasks one by one. To do that, just input task name, start time and end time of the task and Press Enter Key or . Repeat the operation until all tasks are input.
  2. Simply copy paste a list from a CSV file, a Text File or other sources to directly populate the list of tasks. To do so, Click on and a large text box will appear. Just paste your list of tasks in the large text box. You should be having one line per task, having a ',' as separator between task name, start time and end time. You should also use one of the following time format: either HH:MM or HH:MM:SS (:SS is really optional as it is not used in the calculation). Finally, press to add all the tasks to the list. Those tasks will be added on top of the ones that were already there before.
  3. Import data from an Excel file. To do that, you need to have in your Excel file the 3 following columns (in the first sheet): 'Task Name', 'Start Time' and 'End Time'. Times columns need to be in time format (not in text format). Then you can click on and select your file to import your data. Excel's data will be added on top of data already in the list.

If you want to delete all tasks in the list, use the Button. You can also delete an individual task of the list by using next to the task you want to remove.

If you want to have a preview of optimization, you can press to use the sample dataset.

You have a question or see an issue on this website? Please let us know with this form!