JSSP.solution.solution module

class JSSP.solution.solution.Operation(job_id, task_id, machine, wait, setup, runtime, start_time)

Bases: object

class JSSP.solution.solution.Solution(data, operation_2d_array)

Bases: object

Solution class which is composed of a 2d nparray of operations where an operation is a 1d nparray in the form [job_id, task_id, sequence, machine], a 1d nparray memory view of machine makespan times, and the makespan time.

Parameters:
  • data (Data) – JSSP instance data
  • operation_2d_array (nparray) – 2d nparray of operations
create_gantt_chart_html_file(output_path, title='Gantt Chart', start_date=datetime.date(2020, 7, 2), start_time=datetime.time(8, 0), end_time=datetime.time(20, 0), auto_open=False, continuous=False)

Creates a gantt chart html file of the solution.

Parameters:
  • output_path (Path | str) – path to the gantt chart html file to create
  • title (str) – name of the gantt chart
  • start_date (datetime.date) – date to start the schedule from
  • start_time (datetime.time) – start time of the work day
  • end_time (datetime.time) – end time of the work day
  • auto_open (bool) – if true the gantt chart html file is automatically opened in a browser
  • continuous (bool) – if true a continuous schedule is created. (i.e. start_time and end_time are not used)
Returns:

None

create_schedule_xlsx_file(output_path, start_date=datetime.date(2020, 7, 2), start_time=datetime.time(8, 0), end_time=datetime.time(20, 0), continuous=False)

Creates an excel file that contains the schedule for each machine of this Solution.

Parameters:
  • output_path (Path | str) – path to the excel file to create
  • start_time (datetime.time) – start date of the schedule
  • start_time – start time of the work day
  • end_time (datetime.time) – end time of the work day
  • continuous (bool) – if true a continuous schedule is created. (i.e. start_time and end_time are not used)
Returns:

None

get_operation_list_for_machine(start_date=datetime.date(2020, 7, 2), start_time=datetime.time(8, 0), end_time=datetime.time(20, 0), continuous=False, machines=None)

Gets a list of Operations for a machine or set of machines.

Parameters:
  • start_date (datetime.date) – date to start the schedule from
  • start_time (datetime.time) – start time of the work day
  • end_time (datetime.time) – end time of the work day
  • continuous (bool) – if true a continuous schedule is created. (i.e. start_time and end_time are not used)
  • machines ([int]) – list of machine ids, or None
Return type:

[Operation]

Returns:

list of Operations

iplot_gantt_chart(title='Gantt Chart', start_date=datetime.date(2020, 7, 2), start_time=datetime.time(8, 0), end_time=datetime.time(20, 0), continuous=False)

Plots a gantt chart of this Solution in an ipython notebook.

Parameters:
  • title (str) – name of the gantt chart
  • start_date (datetime.date) – date to start the schedule from
  • start_time (datetime.time) – start time of the work day
  • end_time (datetime.time) – end time of the work day
  • continuous (bool) – if true a continuous schedule is created. (i.e. start_time and end_time are not used)
Returns:

None