Appendice 2
clc %Definizione della matrice di partenza, in cui si sono affidati dei pesi a ciascun parametro andando a fare un confronto a coppie tra i parametri stessi : A=[1 3 5 2 2.5 4; 1/3 1 4 1/2.5 1/2 2.5; 1/5 1/4 1 1/3.5 1/3 1/2; 1/2 2.5 3.5 1 1.5 3; 1/2.5 2.5 3 1/1.5 1 3; 1/4 1/2.5 2 1/3 1/3 1];
%Tramite il ciclo for andiamo ad applicare il metodo matematico previsto dal processo AHP secondo la procedura “esatta” for c=1:8 N=A^2; A=N; M=sum(N'); Y=M./sum(M); W(:,c)=Y'; end G=[W(:,1) W(:,5) W(:,7) W(:,8) W(:,7)-W(:,8)] %Questo è l'autovettore che contiene il valore dei pesi trovati tramite il metodo 'esatto'. Autovettore_esatto= W(:,8) %questa operazione mi permette di comprendere se la somma degli elementi dell'autovettore dia il valore atteso pari a 1. sum(Autovettore_esatto) %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%%
A2.2 Codice per l’ottimizzazione della relazione matematica Con il codice che segue è possibile fare l’ottimizzazione della relazione matematica che caratterizza il modello presentato in questo lavoro. Infatti, dopo aver definito la relazione analitica, accompagnando ciascun parametro con il proprio peso, nel tempo si potrebbe avere bisogno di modificare il peso di un dato parametro, per esempio si potrebbe aumentare, diminuire il suo valore, o addirittura decidere di silenziarlo completamente. Variando il valore di un peso è necessario andare a ritoccare il valore di tutti gli altri per poter mantenere l’equilibrio del sistema. Pertanto, si è deciso di sviluppare un codice che aiutasse la modifica del peso di un generico parametro senza avere troppe problematiche nella ridefinizione di tutti gli altri pesi restanti. Il codice che snellisce questa attività viene presentato di seguito: %Codice unico clc clear all
125