Puoi usare la discretizzazione del problema in punti, in modo tale che devi solo determinare un numero finito di parametri (supponendo che e siano funzioni in qualche modo continue). Per la derivata e l'integrazione è possibile utilizzare il metodo Euler, è possibile utilizzare metodi di ordine superiore, ma rendere il problema più difficile da risolvere.Nfg
La riformulazione fornisce:
h=t1N−1,x⃗ =[x1,x2,…,xN],y⃗ =[y1,y2,…,yN],
maxx⃗ ,y⃗ s.t.∑n=1N−1f(h(n−1),xn,yn)hxn+1=xn+g(h(n−1),xn,yn)h,n=1,2,…,N−1
È inoltre necessario aggiungere i vincoli di limite ai vincoli di uguaglianza del problema di ottimizzazione. Puoi utilizzare diversi metodi per risolvere questo problema, ad esempio se hai accesso a Matlab potresti usare fmincon , che minimizza la funzione di costo che può essere risolta aggiungendo un segno meno davanti alla somma. Spesso devi anche fornire un'ipotesi iniziale, che potrebbe anche influenzare la soluzione, poiché ipotesi diverse potrebbero convergere in diversi massimi locali. Aumentando dovresti ottenere una soluzione sempre più accurata, ma probabilmente ci vorrà più tempo per risolverlo. Potrebbe convergere più velocemente se usi la soluzione di un problema con meno punti e li interpoli e poi usi quello come ipotesi iniziale per il problema del maggior numero di punti.N