Was ist (Mathematische) Optimierung und wie kann sie helfen mehr mit weniger zu erreichen? Zoo, Busse, Kinder und Optimierung.
Letzten Monat las ich einen interessanten Artikel (in Englisch) von Virginie.
Die Ferien sind vorbei, alle Geschenke sind geschenkt und die Kinder zurück in der Schule. Zeit Ihnen meine Sicht auf die Dinge vorzustellen.
Was ist (Mathematische) Optimierung und wie kann sie helfen mehr mit weniger zu erreichen? Ich m?chte Ihnen einen anderen Weg zur Beantwortung dieser Frage zeigen. Nicht für Erwachsene, aber für Kinder.
Meine Mathematiklehrerin stellte mir die folgende Aufgabe als ich 14 Jahre alt war.
300 Kinder wollten einen Ausflug machen und den Londoner Zoo besuchen. Die Schule kann verschiedene Busse mieten: Ein Typ hat 40 Sitze und kostet £ 500, der andere Typ hat 30 Sitze und kostet £ 400. Wie viele Busse welchen Typs sollte die Schule mieten, um die Kosten zu minimieren?
Damals schrieb ich eine Schleife in Pascal und bekam als L?sung, das 6 Busse mit 40 Sitzen und 2 Busse mit 30 Sitzen gemietet werden sollten. Meine Lehrerin war nicht glücklich mit der Antwort, weil sie wollte, dass wir die L?sung graphisch als Schnittpunkt zweier Linien finden sollten.
Und ich war nicht glücklich mit ihrem L?sungsansatz, denn was ist wenn es fünf verschiedene Typen Busse gibt?
CPLEX und Mathematische Optimierung liefern Antworten für diese Art von Fragestellungen, aber mit viel mehr Entscheidungsvariablen (in diesem Beispiel sind die Anzahl der Busse des jeweiligen Typs die Entscheidungsvariablen).
Zus?tzlich bietet CPLEX verschiedene Wege für die Modellierung und L?sung meines kleinen Beispiels und viele Wege, um von Mathematischer Optimierung zu profitieren.
Vielen Dank Sebastian für die übersetzung.
Ich helfe Unternehmen optimal zu planen. | Prescriptive Analytics | Rapid Optimization Software Development
4 年Hi, I liked the idea. But am I am missing OPTANO Modeling - which I really like to use for optimization projects: https://www.nuget.org/packages/OPTANO.Modeling/ This would be the code using OPTANO Modeling ????????????//?create?a?new?dotnet?project ????????????//?>?dotnet?new?console ????????????//?Add?OPTANO?Modeling ????????????//?>?dotnet?add?package?optano.modeling ????????????//?add?this?code?to?project.cs?as?a?example?-?instead?of?Hello-World-Line ????????????var?nbKids?=?300; ????????????var?costBus40?=?500d; ????????????var?costBus30?=?400d; ????????????var?nbBus40?=?new?Variable("nbBus40",?type:?VariableType.Integer); ????????????var?nbBus30?=?new?Variable("nbBus30",?type:?VariableType.Integer); ????????????var?model?=?new?Model(); ????????????model.AddObjective(new?Objective(costBus40?*?nbBus40?+?costBus30?*?nbBus30)); ????????????model.AddConstraint(40?*?nbBus40?+?30?*?nbBus30?>=?nbKids,?"Kids"); ????????????//?This?is?Cplex?Solver,?but?might?be?some?other?solver:?https://docs.optano.net/modeling/current/userDoc/supportedsolvers.html ????????????var?solver?=?new?CplexSolver(); ???????????? ????????????var?solution?=?solver.Solve(model); ????????????//?there?is?plenty?more:?find?examples?on?https://github.com/OPTANO/optano.modeling.examples ????????????Console.WriteLine($"Objective?{solution.ObjectiveValues.Single()}"); ????????????Console.WriteLine($"nbBus40:?{nbBus40.Value}"); ????????????Console.WriteLine($"nbBus30:?{nbBus30.Value}");
Helping people and organizations adopt AI responsibly. | Agent of Change | Always #AskFreddy ! Views are my own!
6 年Collectivement bien expliqué. Merci!