src/DataStructure/Utility.java
public static void createInitialSolution(){
		
		initialSolution.clear();
		
		File file = new File("initSolution.txt");
		//Ricarico la soluzione da file se il file esiste
		//DISABILITO MOMENTANEAMENTE QUESTA FUNZIONALITA'
		/*
		if(file.exists()){
			restoreInitSolutionFromFile("initSolution.txt");
		}*/
		
		//ELIMINO il file della soluzione se esiste in modod da non dipendere
		//dalla prima soluzione creata
		
		if (file.exists()){
			file.delete();
		}
		//else{
			interventiNonAssegnati = new ArrayList<Intervento>(interventi);
			for(int i=0; i<interventi.size(); i++){
				int indiceSquadra = sRandom.nextInt(squadre.size());
				
				Intervento intASS = interventi.get(i); //intervento da assegnare
				
				// Verifico che la squadra selezionata abbia le skills
				// in caso negativo ne seleziono una nuova in modo random 
				while(!(checkIntSquad(i, indiceSquadra)) ){
					indiceSquadra = sRandom.nextInt(squadre.size());
				}
				
				//aggiungo 1 all'indice i perchè il metodo addIntervento lavora
				//sugli id degli interventi e non sugli indici di memorizzazione
				int idInt=i+1;
				initialSolution.addIntervento(idInt, indiceSquadra);
				
				interventiNonAssegnati.remove(intASS);//riumuovo l'intervneto dalla lista degli nitnerventi non asegnati
			
			}
			valuateSolution = new SolutionInOrder(initialSolution);
			
			openFile("initSolution.txt");
			printToFile(initialSolution.toString()+"\n");
			closefile();
		//}
	}
/**
	 * Metodo per la generazione pseudocasuale della soluzione iniziale
	 * Nel dettaglio vengono distribuiti gli interventi alla squadre
	 * 
	 */
Metodo per la generazione pseudocasuale della soluzione iniziale
Nel dettaglio vengono distribuiti gli interventi alla squadre
Metodo per la generazione pseudocasuale della soluzione iniziale Nel dettaglio vengono distribuiti gli interventi alla squadre
public static void createInitialSolution(){
		initialSolution.clear();
		File file = new File("initSolution.txt");
		/*
		if(file.exists()){
			restoreInitSolutionFromFile("initSolution.txt");
		}*/
		if (file.exists()){
			file.delete();
		}
			interventiNonAssegnati = new ArrayList<Intervento>(interventi);
			for(int i=0; i<interventi.size(); i++){
				int indiceSquadra = sRandom.nextInt(squadre.size());
				Intervento intASS = interventi.get(i); 
				while(!(checkIntSquad(i, indiceSquadra)) ){
					indiceSquadra = sRandom.nextInt(squadre.size());
				}
				int idInt=i+1;
				initialSolution.addIntervento(idInt, indiceSquadra);
				interventiNonAssegnati.remove(intASS);
			}
			valuateSolution = new SolutionInOrder(initialSolution);
			openFile("initSolution.txt");
			printToFile(initialSolution.toString()+"\n");
			closefile();
	}
public static void createInitialSolution ( ) { initialSolution . clear ( ) ; File file = new File ( "initSolution.txt" ) ; /*
		if(file.exists()){
			restoreInitSolutionFromFile("initSolution.txt");
		}*/ if ( file . exists ( ) ) { file . delete ( ) ; } interventiNonAssegnati = new ArrayList < Intervento > ( interventi ) ; for ( int i = 0 ; i < interventi . size ( ) ; i ++ ) { int indiceSquadra = sRandom . nextInt ( squadre . size ( ) ) ; Intervento intASS = interventi . get ( i ) ; while ( ! ( checkIntSquad ( i , indiceSquadra ) ) ) { indiceSquadra = sRandom . nextInt ( squadre . size ( ) ) ; } int idInt = i + 1 ; initialSolution . addIntervento ( idInt , indiceSquadra ) ; interventiNonAssegnati . remove ( intASS ) ; } valuateSolution = new SolutionInOrder ( initialSolution ) ; openFile ( "initSolution.txt" ) ; printToFile ( initialSolution . toString ( ) + "\n" ) ; closefile ( ) ; }
Metodo per la generazione pseudocasuale della soluzione iniziale
 Nel dettaglio vengono distribuiti gli interventi alla squadre
Metodo per la generazione pseudocasuale della soluzione iniziale Nel dettaglio vengono distribuiti gli interventi alla squadre
//Ricarico la soluzione da file se il file esiste //DISABILITO MOMENTANEAMENTE QUESTA FUNZIONALITA' //ELIMINO il file della soluzione se esiste in modod da non dipendere //dalla prima soluzione creata //else{ //intervento da assegnare // Verifico che la squadra selezionata abbia le skills // in caso negativo ne seleziono una nuova in modo random  //aggiungo 1 all'indice i perchè il metodo addIntervento lavora //sugli id degli interventi e non sugli indici di memorizzazione //riumuovo l'intervneto dalla lista degli nitnerventi non asegnati //}