Cosa fai con le domande difficili dei clienti come questa?<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />Buongiorno SE,
Di recente ho ricevuto questa sfida da un cliente. Entra in un'area in cui non sono particolarmente forte. Qualcuno ha suggerimenti su cosa fare con questo?
Ehi Byron,
Una grande battuta tra i miei colleghi è che non dovrebbero menzionare di fare qualcosa in Excel in mia presenza. Il motivo è perché ogni volta che qualcuno menziona l'esecuzione di un calcolo al di fuori di JMP, dico "JMP può farlo". In particolare ho cercato di convincere le persone a lasciar andare Excel, ma lo dico anche quando le persone parlano di fare qualcosa in Matlab, ecc. Quindi, ora penso di essere costretto a chiedere a JMP di aiutarmi a non "mangiare il corvo".
Ho continuato a ricercare il mio problema di ottimizzazione. Sono rimasto deluso dal fatto di essere stato bloccato dal supporto tecnico, ma ho capito. Ho finito di ascoltare tutte le lezioni per il corso Convex Optimization a Stanford tramite ITunesU di cui ti ho parlato in precedenza. Ho imparato un bel po '. Una cosa che ho imparato è che Excel ha un risolutore di componenti aggiuntivi per risolvere i problemi di ottimizzazione. Sembra che il Risolutore di Excel sia migliore del profiler di JMP! Principalmente lo dico perché il Risolutore consente vincoli non lineari. È anche possibile che io capisca come utilizzare il risolutore di Excel meglio del Profiler o della piattaforma non lineare - se questa è la piattaforma giusta per il mio problema. In entrambi i casi, sostengo, ciò rende Solver "migliore". Può darsi che il Risolutore di Excel sia meno efficiente del Profiler di JMP, ma questo non è un punto per il mio confronto particolare.
Così, Sfido JMP a fornire una piattaforma in grado di risolvere problemi di ottimizzazione non convessa con funzioni oggettive non lineari e vincoli non lineari di facile comprensione e utilizzo. Ovviamente faccio questa sfida dalla prospettiva più positiva di feedback da parte di un cliente altrimenti molto soddisfatto
Non preoccuparti, manterrò questa apparente superiorità di Excel tra di noi fino a quando JMP non avrà avuto ampie opportunità di "farlo bene".
-J
Ri: Cosa fai con domande difficili come questa?Martin,
Grazie per i tuoi utili commenti. È bello avere la conferma che sono sopra la mia testa.
Ad un certo punto mi piacerebbe lavorare in questa classe per capire meglio come risolvere il problema.
Ottimizzazione convessa | Stanford Lagunita
Saluti,
Byron
Ri: Cosa fai con domande difficili come questa?Ultima nota: non sono sicuro che vogliamo che JMP abbia una piattaforma di ottimizzazione competitiva. Questa sarebbe un'enorme quantità di lavoro di implementazione degli sviluppatori. E ci sono già strumenti molto specializzati là fuori dove potresti avere difficoltà se non fornissi il set completo di routine di ottimizzazione.
Se il cliente potesse fornire un caso d'uso con un messaggio di buon valore, potrebbe esserci spazio per la discussione. Ma conosco le discussioni che ho avuto con alcuni sviluppatori delle routine di ottimizzazione, ad esempio quando si trattava dell'implementazione di MILP e altri, è stato un sacco di lavoro per renderlo abbastanza performante da essere utile.
Ri: Cosa fai con domande difficili come questa?Ciao Byron,
Sono d'accordo con Peter, pubblicare qui è una buona cosa. Accetto anche di consegnare messaggi onestamente ai clienti.
Per quanto riguarda questo specifico problema, risponderò più tardi oggi non appena torno in hotel. Ho trattato questo argomento in passato e posso fornirvi alcune informazioni.
Migliore
balestruccio
---
Invia cellulare
Dopo ...
Ciao Byron,
quindi ora parliamo di problemi di ottimizzazione non convessa. Questi sono problemi in cui i risolutori lineari e la maggior parte dei risolutori quadratici avranno più difficoltà a trovare una soluzione, soprattutto con una certa certezza che non esiste una soluzione migliore. Altri hanno detto che se l'obiettivo e tutti i vincoli sono convessi, si può essere sicuri di determinare se esiste una soluzione fattibile, trovare la soluzione globalmente ottimale e risolvere il problema fino a dimensioni molto grandi. Se hai una soluzione non convessa, il problema è molto più difficile e non puoi essere certo di nessuna di queste cose.
Spesso si presentavano soluzioni non convesse in caso di problemi di programmazione con numeri interi e vincoli. Quel tipo di problemi che proveresti a utilizzare con i risolutori dell'ottimizzazione globale, come algoritmi genetici o evolutivi, o con speciali metodi a numero intero / binario-intero o altri metodi Branch e Bound (costruendo ripetutamente sottoproblemi da risolvere con algoritmi più semplici).
Tutti hanno in comune il fatto che esiste un algoritmo numerico utilizzato nella parte posteriore che potrebbe diventare piuttosto complicato e numericamente costoso. Ma ti impedisce con maggiori probabilità di imbatterti in una soluzione locale che potrebbe non avere molto a che fare con la soluzione reale.
Quei metodi numerici che non abbiamo in JMP per quanto ne so. Di solito questi algoritmi si trovano in pacchetti di ottimizzazione o software come MATLAB. Credo davvero che il componente aggiuntivo di Excel non sia scritto in Excel, ma un C / C ++ / MATLAB / Fortan / R o altra routine compilata in un componente aggiuntivo di Excel * .xla. Questo l'ho fatto in passato con MATLAB e MATLAB Compiler a scopo dimostrativo e per alcuni progetti dei clienti.
Il profiler - per quanto ho capito l'ottimizzazione sotto il cofano - risolve un problema convesso. Sarai quindi in grado di trovare un ottimale globale. Se hai valori discreti, risolvi l'uno dopo l'altro e scegli il meglio. Ma potresti rimanere bloccato in un ottimo locale. Sono felice di essere corretto se la mia ipotesi è sbagliata.
Un'altra idea potrebbe essere quella di utilizzare le reti neurali per gestire questo tipo di problemi, ma di solito non è così scalabile e richiede molto tempo per essere eseguito. Inoltre, non sono sicuro di quali funzioni di addestramento e trasferimento avremmo in JMP in quanto possono fare una grande differenza nella convergenza di tali problemi. L'ho usato una volta presso un cliente che voleva trovare le parti migliori e peggiori nel suo portafoglio, in modo che potesse liberarsi delle 30 parti peggiori e conservare tutte le altre parti, specialmente quelle migliori. L'accuratezza del modello era circa il 60% di classificazione corretta per quelli nel mezzo e un tasso elevato per il gruppo peggiore. L'uso di tali informazioni per ripulire il suo portafoglio ha consentito di risparmiare perdite sugli abbracci e di aumentare i profitti su vasta scala.
Un'ulteriore nota: spesso quegli algoritmi sono implementati per poter funzionare in modalità parallela e sono altamente scalabili. I problemi di MILP sono abbastanza comuni nel settore finanziario, ad esempio per alcuni problemi di ottimizzazione del portafoglio, ad esempio nel settore delle utility, petrolio e gas ed energia. Se il componente aggiuntivo di cui parla il cliente chiama un ambiente di runtime in grado, ad esempio, di algoritmi di ottimizzazione globale, non mi chiedo che fornirà una soluzione migliore. Se è davvero un codice scritto Excel / VBA, sarei molto interessato a vedere l'algoritmo in quanto ciò mi sorprenderebbe.
Spero che ti dia alcune informazioni che ti consentano di rispondere alla domanda in modo carino.
Ri: Cosa fai con domande difficili come questa?Byron:
Generalmente quando sono personalmente confuso, comincio a pubblicare il problema qui su questo forum proprio come hai fatto nel passaggio 1.
Attendere risposte ... qualsiasi cosa, da una "soluzione" a "JMP non può farlo" o il solito "JMP può farlo con gli script come parte chiave del percorso della soluzione".
Sinceramente quando è qualcosa che JMP non può fare (senza script) ... Dico semplicemente al cliente in modo schietto che, JMP come attualmente distribuito fuori dalla scatola, non ha questa funzionalità, ma se uno è uno scripter abbastanza abile può essere sviluppata una soluzione. Cavolo, l'ho fatto io stesso, molti anni fa prima che JMP implementasse il metodo EMP di Wheeler. Ho sviluppato una sceneggiatura grezza e molto semplice per fare un po 'di quello che spinge Wheeler. Inutile dire che sono stato felice quando JMP ha implementato il metodo EMP di Wheeler ... la mia sceneggiatura è stata messa al pascolo.
Poi so che persone come Dan Valente, Jeff Perkinson e altri guardano le nostre chiacchiere qui e se il "qualcosa" è un elemento che viene preso in considerazione per una futura uscita alla grande.
Non possiamo essere tutte le cose per tutte le persone, il 100% delle volte, in tempo reale.