Was machen Sie mit solchen schwierigen Kundenfragen?<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />Hallo SEs,
Ich habe diese Herausforderung kürzlich von einem Kunden erhalten. Es geht in ein Gebiet, in dem ich nicht besonders stark bin. Hat jemand Vorschläge, was man damit machen soll?
Hey Byron,
Ein großer Witz unter meinen Mitarbeitern ist, dass sie in meiner Gegenwart nicht erwähnen sollten, etwas in Excel zu tun. Der Grund dafür ist, dass ich jedes Mal, wenn jemand erwähnt, dass eine Berechnung außerhalb von JMP durchgeführt wird, sage: "JMP kann das." Insbesondere habe ich versucht, Leute dazu zu bringen, Excel loszulassen, aber ich sage es auch, wenn Leute darüber reden, etwas in Matlab usw. zu tun. Jetzt denke ich, ich bin gezwungen, JMP zu bitten, mir zu helfen, keine Krähe zu essen.
Ich habe mein Optimierungsproblem weiter untersucht. Ich war enttäuscht, dass ich durch technischen Support abgeschaltet wurde, aber ich verstehe. Ich habe alle Vorlesungen für den Kurs zur konvexen Optimierung in Stanford über ITunesU angehört, die ich Ihnen bereits erwähnt habe. Ich habe ziemlich viel gelernt. Eine Sache, die ich gelernt habe, ist, dass Excel einen Add-In-Solver hat, um Optimierungsprobleme zu lösen. Es scheint, dass der Solver von Excel besser ist als der Profiler von JMP! Meistens sage ich das, weil Solver nichtlineare Einschränkungen zulässt. Es ist auch möglich, dass ich verstehe, wie man den Excel-Solver besser als den Profiler oder die nichtlineare Plattform verwendet - wenn dies die richtige Plattform für mein Problem ist. In beiden Fällen, so argumentiere ich, macht das Solver „besser“. Es kann durchaus sein, dass der Solver von Excel weniger effizient ist als der Profiler von JMP, aber das ist kein Punkt für meinen speziellen Vergleich.
So, Ich fordere JMP auf, eine Plattform bereitzustellen, die nicht konvexe Optimierungsprobleme mit nichtlinearen Zielfunktionen und nichtlinearen Einschränkungen lösen kann und leicht zu verstehen und zu verwenden ist. Natürlich mache ich diese Herausforderung aus der positivsten Perspektive des Feedbacks eines ansonsten sehr zufriedenen Kunden
Keine Sorge, ich werde diese offensichtliche Excel-Überlegenheit zwischen uns behalten, bis JMP ausreichend Gelegenheit hatte, „es richtig zu machen“.
-J
Re: Was machen Sie mit solchen schwierigen Kundenfragen?Martin,
Vielen Dank für Ihre hilfreichen Kommentare. Es ist schön, eine Bestätigung zu haben, dass ich über meinem Kopf bin.
Irgendwann möchte ich diese Klasse durcharbeiten, um besser zu verstehen, wie das Problem gelöst werden kann.
Konvexe Optimierung | Stanford Lagunita
Prost,
Byron
Re: Was machen Sie mit solchen schwierigen Kundenfragen?Letzte Anmerkung: Ich bin nicht sicher, ob JMP eine wettbewerbsfähige Optimierungsplattform haben soll. Dies wäre eine enorme Menge an Implementierungsarbeit für Entwickler. Und es gibt bereits sehr spezialisierte Tools, bei denen Sie Schwierigkeiten haben würden, wenn Sie nicht alle Optimierungsroutinen bereitstellen würden.
Wenn der Kunde Ihnen einen Anwendungsfall mit einer preiswerten Nachricht zur Verfügung stellen könnte, besteht möglicherweise Raum für Diskussionen. Aber ich kenne die Diskussionen, die ich mit einigen Entwicklern der Optimierungsroutinen geführt habe, z. B. bei der Implementierung von MILP und anderen. Es war viel Arbeit, sie leistungsfähig genug zu machen, um nützlich zu sein.
Re: Was machen Sie mit solchen schwierigen Kundenfragen?Hallo Byron,
Ich stimme Peter zu, hier zu posten ist eine gute Sache. Ich stimme zu, dass ich den Kunden auch ehrliche Nachrichten überbringe.
In Bezug auf dieses spezielle Problem werde ich später heute antworten, sobald ich wieder im Hotel bin. Ich habe mich in der Vergangenheit mit diesem Thema befasst und kann Ihnen einige Einblicke geben.
Beste
Martin
--- ---.
Mobil senden
Später ...
Hallo Byron,
Sprechen wir jetzt über nicht konvexe Optimierungsprobleme. Dies sind Probleme, bei denen es für lineare Löser und die meisten quadratischen Löser schwieriger sein wird, eine Lösung zu finden, insbesondere mit einer gewissen Sicherheit, dass es keine bessere Lösung gibt. Andere sagten, wenn das Ziel und alle Einschränkungen konvex sind, können Sie sicher sein, festzustellen, ob es eine praktikable Lösung gibt, die global optimale Lösung zu finden und das Problem bis zu einer sehr großen Größe zu lösen. Wenn Sie eine nicht konvexe Lösung haben, ist das Problem viel schwieriger und Sie können sich keiner dieser Dinge sicher sein.
Oft tauchten nicht konvexe Lösungen auf, wenn Sie Probleme mit der Programmierung von Ganzzahlen und Einschränkungen hatten. Diese Art von Problemen würden Sie versuchen, mit globalen Optimierungslösern, als genetische oder evolutionäre Algorithmen oder mit speziellen Mixed-Integer / Binary-Integer- oder anderen Branch-and-Bound-Methoden zu verwenden (wiederholbare Erstellung von Teilproblemen, die mit einfacheren Algorithmen gelöst werden sollen).
Allen ist gemeinsam, dass im Hintergrund ein numerischer Algorithmus verwendet wird, der recht kompliziert und numerisch teuer werden kann. Es verhindert jedoch, dass Sie mit einer höheren Wahrscheinlichkeit auf eine lokale Lösung stoßen, die möglicherweise nicht viel mit der tatsächlichen Lösung zu tun hat.
Diese numerischen Methoden haben wir meines Wissens nicht in JMP. Normalerweise finden Sie diese Algorithmen in Optimierungspaketen oder Software wie MATLAB. Ich bin der festen Überzeugung, dass das Excel-Add-In nicht in Excel geschrieben ist, sondern in C / C ++ / MATLAB / Fortan / R oder einer anderen Routine, die zu einem Excel-Add-In * .xla kompiliert wurde. Dies habe ich in der Vergangenheit mit MATLAB und MATLAB Compiler zu Demozwecken sowie für einige Kundenprojekte getan.
Der Profiler löst - soweit ich die Optimierung unter der Haube verstehe - ein konvexes Problem. Sie können dann ein globales Optimum finden. Wenn Sie diskrete Werte haben, lösen Sie diese nacheinander und wählen die besten aus. Aber Sie können in einem lokalen Optimum stecken bleiben. Ich bin froh, korrigiert zu werden, wenn meine Annahme falsch ist.
Eine andere Idee könnte darin bestehen, neuronale Netze zu verwenden, um diese Art von Problemen zu lösen. Normalerweise ist dies jedoch nicht so skalierbar und die Ausführung dauert lange. Ich bin mir auch nicht sicher, welche Schulungs- und Übertragungsfunktionen wir in JMP haben würden, da diese einen großen Unterschied in der Konvergenz für diese Probleme bewirken können. Ich habe es einmal bei einem Kunden verwendet, der die besten und schlechtesten Teile in seinem Portfolio finden wollte, damit er die 30 schlechtesten Teile loswerden und alle anderen Teile, insbesondere die besten, behalten konnte. Die Genauigkeit des Modells betrug etwa 60% korrekte Klassifizierung für diejenigen in der Mitte und eine hohe Rate für die schlechteste Gruppe. Die Verwendung dieser Informationen zur Bereinigung seines Portfolios sparte Umarmungsverluste und steigerte den Gewinn um ein Vielfaches.
Ein zusätzlicher Hinweis: Oft werden diese Algorithmen implementiert, um im parallelen Modus ausgeführt zu werden und sind hoch skalierbar. MILP-Probleme sind in der Finanzbranche weit verbreitet, z. B. bei bestimmten Problemen der Portfoliooptimierung, z. B. im Bereich Versorger, Öl & Gas und Energie. Wenn das Add-In, über das Ihr Kunde spricht, eine Laufzeitumgebung aufruft, die beispielsweise globale Optimierungsalgorithmen unterstützt, wundere ich mich nicht, dass es eine bessere Lösung bietet. Wenn es sich wirklich um einen in Excel / VBA geschriebenen Code handelt, wäre ich sehr interessiert, den Algorithmus zu sehen, da mich dies überraschen würde.
Ich hoffe, das gibt Ihnen einen Einblick, mit dem Sie die Frage auf nette Weise beantworten können.
Re: Was machen Sie mit solchen schwierigen Kundenfragen?Byron:
Wenn ich persönlich begeistert bin, beginne ich im Allgemeinen, das Problem hier in diesem Forum zu veröffentlichen, genau wie Sie es in Schritt 1 getan haben.
Warten Sie auf Antworten ... alles von einer "Lösung" bis zu "JMP kann das nicht" oder dem üblichen "JMP kann das mit Skripten als Schlüsselelement des Lösungspfads".
Ganz ehrlich, wenn es etwas ist, was JMP einfach nicht kann (ohne Skripte) ... Ich sage dem Kunden direkt, dass JMP, wie es derzeit standardmäßig bereitgestellt wird, diese Funktionalität nicht hat, aber wenn es eine ist Als Kunstfertiger kann eine Lösung entwickelt werden. Genau das habe ich vor vielen, vielen Jahren selbst getan, bevor JMP die EMP-Methode von Wheeler einsetzte. Ich habe ein grobes, sehr einfaches Skript entwickelt, um einige der Aufgaben von Wheeler zu erfüllen. Unnötig zu erwähnen, dass ich sehr erfreut war, als JMP die EMP-Methode von Wheeler einsetzte ... mein Skript wurde auf die Weide gestellt.
Dann kenne ich Leute wie Dan Valente, Jeff Perkinson und andere, die unser Geschwätz hier beobachten und ob das "Etwas" ein Element ist, das für eine zukünftige großartige Veröffentlichung in Betracht gezogen wird.
Wir können nicht alle Dinge für alle Menschen sein, 100% der Zeit, in Echtzeit.