Get desktop application:
View/edit binary Protocol Buffers messages
Stores how a job is executed.
Used in:
How each task is executed.
Earliness-Tardiness cost of that job.
Sum of all tasks costs for that job.
Stores how a task is executed.
Used in:
Indicates which alternative was selected. It corresponds to the alternative_index-th machine in the 'machine' field in Tasks
The start time of that task.
A job is an ordered sequence of tasks, plus hard constraints on its earliest start time, and its latest completion time. As well as optional earliness-tardiness penalties on its end date. The job starts with the first task in the list, and ends with the last.
Used in:
The ordered sequence of tasks.
This date, if set, specifies a hard constraint on when the job can start.
This date specifies the earliest time the job should end. If this is set, then the earliness_cost_per_time_unit should be set too with a positive value.
This date specifies the latest time the job should end. If this is set, then the lateness_cost_per_time_unit should be set too with a positive value. If both early_due_date and late_due_date are set, then early_due_date <= late_due_date must hold.
The cost model is a convex function \ / \ / \________/ The slopes of this shape are specified on the left by the earliness cost, and on the right by the lateness cost. These penalty parts start at the early and late due dates. For one penalty part to be active, both the date and a positive cost must be defined. All costs must be positive.
This date, if set, specifies a hard constraint on when the job can end. If both earliest_start and latest_end are specified, then earliest_start <= latest_end must hold.
Optional. A name for the job. This will only be used for logging purposes.
Specifies a precedence relation between jobs. It states: start(second_job) >= end(first_job) + min_delay.
Used in:
The input of a problem.
If set, the cost coefficients are multiplied by this factor. It is set to 1000 by the parser when reading early tardy taillard problems where the weight of a job is a floating point value.
Sometimes, the academic data files contain extra information. We store it in the input problem message.
Optional: Name of the problem.
The output of solving a jobshop problem.
The solution for all jobs.
The makespan cost of that solution.
The total cost of that solution.
Used in:
Optional transition time matrix for this machine.
Optional. A name for a machine. This will only be used for logging purposes.
This message specifies a task inside a job.
Used in:
The alternative machines that can perform that task. Only one must be selected. We store the index of the machine in the main JsspInputProblem.
The corresponding duration for the alternative ways of performing this task. This list must have the same size as the machine_id list.
An optional cost for selecting one alternative way of performing the task against another. This list must either be empty, or has the same size as the above two lists.
Stores the transition time matrix between jobs on a given machine. If the initial job has n jobs, then time[i * n + j] will indicate the minimum delay between the end of a task of a job i performed on this machine and the start of a task of job j performed on the same machine. Nothing can be executed on that machine during this delay.
Used in: