Re: Algoritmi di ottimizzazione e metodo newton troncato
Von: toto (tomz814levami@yahoo.it) [Profil]
Datum: 03.07.2008 15:07
Message-ID: <g4iitv$efj$1@tdi.cu.mi.it>
Newsgroup: it.istruzione.universita.ingegneria
Datum: 03.07.2008 15:07
Message-ID: <g4iitv$efj$1@tdi.cu.mi.it>
Newsgroup: it.istruzione.universita.ingegneria
Andrea Francia wrote: > toto wrote: >> Qualcuno mi puo' aiutare con il metodo in oggetto, pecialmente se ne >> ha avuto ewsperienze "applicative"??? >> Devo realizzae un software che implementi tale algoritmo, fatto e >> funziona, solo che non so se funziona come dovrebbe (esempio, un >> problema di test viene risolto in 5 iterazioni, il mio programma ne >> impiega 80) > > Hai già implementato il metodo di newton normale (che mi sembra di > ricordare fosse piu' semplice), implementa prima quello, controlla che > converge velocemente e poi modificalo per farlo diventare troncato. > > Se converge piano forse (ma forse) hai sbagliato l'hessiana. > Quanto ci mette il metodo del gradiente? Se ci mette anche lui circa > 80 iterazione vuol dire che hai cannato l'hessiana. L'hessiana e' corretta...il metodo del gradiente tende a + infinito !!! Mi sa che e' meglio se lascio perdere.... [metodo del gradiente] k = 0; x0 = x0(:); while true if norm(grad(x0)) <= 1e-5 x = x0; val = f(x0); i = k; break; end dk = -grad(x0); alfa = armijo(x0, dk, 0.4, 0.00002); x0 = x0 + alfa * dk; k = k + 1; disp(f(x0)); end[ Auf dieses Posting antworten ]
