src/DataStructure/Utility.java
public static void restoreInitSolutionFromFile(String fileName){
		
		initialSolution.clear();
		
		File file = new File (fileName);
		if(file.exists()){
			try {
				FileReader myFileReader = new FileReader(file);
				BufferedReader myBufferReader = new BufferedReader(myFileReader);
				String line = myBufferReader.readLine();
				String linePenultima = new String();;
				while(line != null){
					linePenultima=line;
					line = myBufferReader.readLine();
				}
				//Suddivido la line in token in modo da estrapolare gli interventi per ogni squadra
				ArrayList<String> listaInterventiFromFile = new ArrayList<String>();
				float costoTot = 0;
				StringTokenizer myTokenizer = new StringTokenizer(linePenultima,":");
				String comodo = myTokenizer.nextToken();
				String comodo2 = myTokenizer.nextToken();
				do {

					if (comodo.matches("^s.*") && !comodo2.matches("^C.*")
							&& !comodo2.matches("^s.*")) {
						listaInterventiFromFile.add(comodo2);
						comodo = comodo2;
						comodo2 = myTokenizer.nextToken();
					} else {
						if (comodo.matches("^s.*") && comodo2.matches("^s.*")) {
							listaInterventiFromFile.add(" ");
							comodo = comodo2;
							comodo2 = myTokenizer.nextToken();
						} else {
							if (comodo.matches("^s.*")
									&& comodo2.matches("^C.*")) {
								listaInterventiFromFile.add(" ");
								comodo = comodo2;
								comodo2 = myTokenizer.nextToken();
							} else {
								comodo = comodo2;
								comodo2 = myTokenizer.nextToken();
							}
						}
					}

				} while (myTokenizer.hasMoreTokens());
				
				//solutionInOrder minSolution = new solutionInOrder();
				initialSolution.setCostoTotale(costoTot);

				initialSolution.setListaInterventi(listaInterventiFromFile);
				restoreToInitialSolution();

				myBufferReader.close();
				myFileReader.close();
			} catch (FileNotFoundException e) {
				// TODO Auto-generated catch block
				e.printStackTrace();
			} catch (IOException e) {
				// TODO Auto-generated catch block
				e.printStackTrace();
			}
		}
		
	}
/**
	 * Metodo utilizzato per ripristinare la soluzione iniziale generata in modo randomico
	 *  e salvata su di un file di supporto
	 * @param fileName
	 */
Metodo utilizzato per ripristinare la soluzione iniziale generata in modo randomico
e salvata su di un file di supporto
@param fileName
Metodo utilizzato per ripristinare la soluzione iniziale generata in modo randomico e salvata su di un file di supporto @param fileName
public static void restoreInitSolutionFromFile(String fileName){
		initialSolution.clear();
		File file = new File (fileName);
		if(file.exists()){
			try {
				FileReader myFileReader = new FileReader(file);
				BufferedReader myBufferReader = new BufferedReader(myFileReader);
				String line = myBufferReader.readLine();
				String linePenultima = new String();;
				while(line != null){
					linePenultima=line;
					line = myBufferReader.readLine();
				}
				ArrayList<String> listaInterventiFromFile = new ArrayList<String>();
				float costoTot = 0;
				StringTokenizer myTokenizer = new StringTokenizer(linePenultima,":");
				String comodo = myTokenizer.nextToken();
				String comodo2 = myTokenizer.nextToken();
				do {
					if (comodo.matches("^s.*") && !comodo2.matches("^C.*")
							&& !comodo2.matches("^s.*")) {
						listaInterventiFromFile.add(comodo2);
						comodo = comodo2;
						comodo2 = myTokenizer.nextToken();
					} else {
						if (comodo.matches("^s.*") && comodo2.matches("^s.*")) {
							listaInterventiFromFile.add(" ");
							comodo = comodo2;
							comodo2 = myTokenizer.nextToken();
						} else {
							if (comodo.matches("^s.*")
									&& comodo2.matches("^C.*")) {
								listaInterventiFromFile.add(" ");
								comodo = comodo2;
								comodo2 = myTokenizer.nextToken();
							} else {
								comodo = comodo2;
								comodo2 = myTokenizer.nextToken();
							}
						}
					}
				} while (myTokenizer.hasMoreTokens());
				initialSolution.setCostoTotale(costoTot);
				initialSolution.setListaInterventi(listaInterventiFromFile);
				restoreToInitialSolution();
				myBufferReader.close();
				myFileReader.close();
			} catch (FileNotFoundException e) {
				e.printStackTrace();
			} catch (IOException e) {
				e.printStackTrace();
			}
		}
	}
public static void restoreInitSolutionFromFile ( String fileName ) { initialSolution . clear ( ) ; File file = new File ( fileName ) ; if ( file . exists ( ) ) { try { FileReader myFileReader = new FileReader ( file ) ; BufferedReader myBufferReader = new BufferedReader ( myFileReader ) ; String line = myBufferReader . readLine ( ) ; String linePenultima = new String ( ) ; ; while ( line != null ) { linePenultima = line ; line = myBufferReader . readLine ( ) ; } ArrayList < String > listaInterventiFromFile = new ArrayList < String > ( ) ; float costoTot = 0 ; StringTokenizer myTokenizer = new StringTokenizer ( linePenultima , ":" ) ; String comodo = myTokenizer . nextToken ( ) ; String comodo2 = myTokenizer . nextToken ( ) ; do { if ( comodo . matches ( "^s.*" ) && ! comodo2 . matches ( "^C.*" ) && ! comodo2 . matches ( "^s.*" ) ) { listaInterventiFromFile . add ( comodo2 ) ; comodo = comodo2 ; comodo2 = myTokenizer . nextToken ( ) ; } else { if ( comodo . matches ( "^s.*" ) && comodo2 . matches ( "^s.*" ) ) { listaInterventiFromFile . add ( " " ) ; comodo = comodo2 ; comodo2 = myTokenizer . nextToken ( ) ; } else { if ( comodo . matches ( "^s.*" ) && comodo2 . matches ( "^C.*" ) ) { listaInterventiFromFile . add ( " " ) ; comodo = comodo2 ; comodo2 = myTokenizer . nextToken ( ) ; } else { comodo = comodo2 ; comodo2 = myTokenizer . nextToken ( ) ; } } } } while ( myTokenizer . hasMoreTokens ( ) ) ; initialSolution . setCostoTotale ( costoTot ) ; initialSolution . setListaInterventi ( listaInterventiFromFile ) ; restoreToInitialSolution ( ) ; myBufferReader . close ( ) ; myFileReader . close ( ) ; } catch ( FileNotFoundException e ) { e . printStackTrace ( ) ; } catch ( IOException e ) { e . printStackTrace ( ) ; } } }
Metodo utilizzato per ripristinare la soluzione iniziale generata in modo randomico
  e salvata su di un file di supporto
 @param fileName
Metodo utilizzato per ripristinare la soluzione iniziale generata in modo randomico e salvata su di un file di supporto @param fileName
//Suddivido la line in token in modo da estrapolare gli interventi per ogni squadra //solutionInOrder minSolution = new solutionInOrder(); // TODO Auto-generated catch block // TODO Auto-generated catch block