Programma per risoluzione funzione obiettivo
Ciao a tutti, mi è stato chiesto di sviluppare un programma per il calcolo di una determinata funzione obiettivo.
Ho avuto tutti i parametri necessari, i vincoli e la funzione stessa, quello che l'utente voleva era poter inserire alcuni valori, di volta in volta variabili, e avere in output il valore massimizzato della funzione obiettivo e i valori delle incognite presenti dentro la stessa.
Avendo poco tempo a disposizione, e volendo fornire un'interfaccia grafica ho pensato di lavorare in Visual Basic.
Ovviamente nessun problema per quanto riguarda gli aspetti "generali" del programma, ma questi arrivano quando si parla dei calcoli.
Premetto che di programmazione lineare non ne so nulla, ora come potrei risolvere questo problema...?
Lo stesso utente ha suggerito la via "iterativa" anche se non so bene dove andare a parare...
Qualcuno mi può consigliare?
Grazie!
PS: Scusatemi se ho scritto stupidaggini riguardo la funzione obiettivo ecc. ma non è proprio il mio campo...
Ho avuto tutti i parametri necessari, i vincoli e la funzione stessa, quello che l'utente voleva era poter inserire alcuni valori, di volta in volta variabili, e avere in output il valore massimizzato della funzione obiettivo e i valori delle incognite presenti dentro la stessa.
Avendo poco tempo a disposizione, e volendo fornire un'interfaccia grafica ho pensato di lavorare in Visual Basic.
Ovviamente nessun problema per quanto riguarda gli aspetti "generali" del programma, ma questi arrivano quando si parla dei calcoli.
Premetto che di programmazione lineare non ne so nulla, ora come potrei risolvere questo problema...?
Lo stesso utente ha suggerito la via "iterativa" anche se non so bene dove andare a parare...
Qualcuno mi può consigliare?
Grazie!
PS: Scusatemi se ho scritto stupidaggini riguardo la funzione obiettivo ecc. ma non è proprio il mio campo...
Risposte
la funzione obiettivo e' lineare?
"codino75":
la funzione obiettivo e' lineare?
Si.
Ci sono un sacco di librerie che risolvono problemi di ottimizzazione.
Ne puoi trovare parecchie all'indirizzo:
www.netlib.org
Scegline una compatibile con Visual Basic (o per lo meno con Visual C++) e usala a mo di black box.
Un altra soluzione semplice potrebbe essere questa: scrivi il programma in VBA per Excel e usa l'Excel solver.
In futuro vi rompero' i maroni chiedendovi aiuto per la compilazione di una libreria per c/c++ (clapack) in windows.... Preparatevi!
Ne puoi trovare parecchie all'indirizzo:
www.netlib.org
Scegline una compatibile con Visual Basic (o per lo meno con Visual C++) e usala a mo di black box.
Un altra soluzione semplice potrebbe essere questa: scrivi il programma in VBA per Excel e usa l'Excel solver.
In futuro vi rompero' i maroni chiedendovi aiuto per la compilazione di una libreria per c/c++ (clapack) in windows.... Preparatevi!
Questo articolo:
The GNU Linear Programming Kit 1,2,3
sull'utilizzo della GLPK (GNU Linuar Programming Kit), potrebbe esserti utile... io farei una GUI che si limiti a fare da frontend al GLPK, mi sembra la cosa più semplice ed efficace...
*** EDIT ***
Ho messo tutte e tre le parti dell'articolo.
The GNU Linear Programming Kit 1,2,3
sull'utilizzo della GLPK (GNU Linuar Programming Kit), potrebbe esserti utile... io farei una GUI che si limiti a fare da frontend al GLPK, mi sembra la cosa più semplice ed efficace...
*** EDIT ***
Ho messo tutte e tre le parti dell'articolo.
Ciao Enigma, che ne diresti di "Lindo" ?
l'ho usato per il mio esame di programmazione linerare, è strasemplice da usare.
In alternativa, c'è il risolutore di Excel.
Marvin
l'ho usato per il mio esame di programmazione linerare, è strasemplice da usare.
In alternativa, c'è il risolutore di Excel.
Marvin
Grazie a tutti dei consigli.
Avevo provato ad interfacciarmi con il risolutore di excel, il problema è che non riesco a far funzionare il risolutore.
Nella prima cella metto la funzione obiettivo, le successive 9 celle sono le incognite xi che mi deve trovare, poi andrebbero i vincoli, per provare ne ho messo uno, ma quando avvio il calcolo mi dice che le condizioni richieste dal modello lineare non sono soddisfatte...
Qualcuno può aiutarmi? Purtroppo questo strumento non lo conosco...
Grazie!
Avevo provato ad interfacciarmi con il risolutore di excel, il problema è che non riesco a far funzionare il risolutore.
Nella prima cella metto la funzione obiettivo, le successive 9 celle sono le incognite xi che mi deve trovare, poi andrebbero i vincoli, per provare ne ho messo uno, ma quando avvio il calcolo mi dice che le condizioni richieste dal modello lineare non sono soddisfatte...
Qualcuno può aiutarmi? Purtroppo questo strumento non lo conosco...
Grazie!