Mise en place de code et Manupulation des représentations : TERMINE
This commit is contained in:
		
							parent
							
								
									fcf0a8b19a
								
							
						
					
					
						commit
						9bc6dfdec3
					
				
					 2 changed files with 56 additions and 4 deletions
				
			
		
							
								
								
									
										22
									
								
								notes.txt
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										22
									
								
								notes.txt
									
									
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,22 @@ | |||
| Encodage : ordre des jobs [0,0,1,1,0,1] | ||||
|  => job 0 puis job 0 puis 1 ... | ||||
| Du coup :  | ||||
| J0T0 -> machine0 [0,3] | ||||
| J0T1 -> machine1 [3,6] | ||||
| J1T0 -> machine1 [6,8] | ||||
| J1T1 -> machine0 [8,10] | ||||
| J0T2 -> machine2 [6,8] | ||||
| J1T2 -> machine2 [10,14] | ||||
| 
 | ||||
| Validé par experimentation | ||||
| 
 | ||||
| Version optimum  | ||||
| 
 | ||||
| J0T0 -> machine0 [0,3] | ||||
| J1T0 -> machine1 [0,2] | ||||
| J0T1 -> machine1 [3,6] | ||||
| J1T1 -> machine0 [3,5] | ||||
| J1T2 -> machine2 [5,9] | ||||
| J0T2 -> machine2 [9,11] | ||||
| 
 | ||||
| Attention SI SOLUTION PAS POSSIBLE, RAISE EXCEPTION | ||||
|  | @ -34,13 +34,43 @@ public class MainTest { | |||
|             System.out.println("SCHEDULE: " + schedule.toString()); | ||||
|             System.out.println("GANTT: " + schedule.asciiGantt()); | ||||
| 
 | ||||
|             // Création du schedule a la main | ||||
|             Schedule manualSchedule = new Schedule(instance); | ||||
|             // TODO: encode the same solution | ||||
|             //manualSchedule.setStartTime(....); | ||||
|             manualSchedule.setStartTime(0,0,0); | ||||
|             manualSchedule.setStartTime(0,1,3); | ||||
|             manualSchedule.setStartTime(0,2,6); | ||||
|             manualSchedule.setStartTime(1,0,6); | ||||
|             manualSchedule.setStartTime(1,1,8); | ||||
|             manualSchedule.setStartTime(1,2,10); | ||||
|             System.out.println("GANTT: " + manualSchedule.asciiGantt()); | ||||
| 
 | ||||
|             //Creation du RO a la main | ||||
|             ResourceOrder manualRO = new ResourceOrder(instance); | ||||
|             // TODO: encode the same solution | ||||
|             //manualRO.addTaskToMachine(..., new Task(..., ...)); | ||||
|             manualRO.addTaskToMachine(0, new Task(0,0)); | ||||
|             manualRO.addTaskToMachine(0, new Task(1,1)); | ||||
|             manualRO.addTaskToMachine(1, new Task(0,1)); | ||||
|             manualRO.addTaskToMachine(1, new Task(1,0)); | ||||
|             manualRO.addTaskToMachine(2, new Task(0,2)); | ||||
|             manualRO.addTaskToMachine(2, new Task(1,2)); | ||||
|             System.out.println("GANTT: " + manualRO.toSchedule().get().asciiGantt()); | ||||
|             //Modification du RO vers optimum | ||||
|             manualRO.swapTasks(1,0,1); | ||||
|             manualRO.swapTasks(2,0,1); | ||||
|             System.out.println("OPTIMUM: "); | ||||
|             System.out.println("VALID: " + manualRO.toSchedule().get().isValid()); | ||||
|             System.out.println("MAKESPAN: " + manualRO.toSchedule().get().makespan()); | ||||
|             System.out.println("SCHEDULE: " + manualRO.toSchedule().get().toString()); | ||||
|             System.out.println("GANTT: " + manualRO.toSchedule().get().asciiGantt()); | ||||
| 
 | ||||
|             //Creation du RO INVALIDE a la main | ||||
|             ResourceOrder manualROInvalid = new ResourceOrder(instance); | ||||
|             manualROInvalid.addTaskToMachine(0, new Task(1,1)); | ||||
|             manualROInvalid.addTaskToMachine(0, new Task(0,0)); | ||||
|             manualROInvalid.addTaskToMachine(1, new Task(0,1)); | ||||
|             manualROInvalid.addTaskToMachine(1, new Task(1,0)); | ||||
|             manualROInvalid.addTaskToMachine(2, new Task(0,2)); | ||||
|             manualROInvalid.addTaskToMachine(2, new Task(1,2)); | ||||
|             System.out.println("GANTT: " + manualROInvalid.toSchedule().get().asciiGantt()); | ||||
| 
 | ||||
|         } catch (IOException e) { | ||||
|             e.printStackTrace(); | ||||
|  |  | |||
		Loading…
	
		Reference in a new issue