2011-01-06 8 views
2

Ich arbeite an einem System von Optimierungsproblemen. Diese Aufgaben können durch eine generische Optimierung über den gesamten Zustandsraum hinweg gelöst werden. Aber einige meiner Gleichungen sind unabhängig vom restlichen System (stellen Sie sich eine Jacobische Matrix mit einigen Blöcken vor, die mit Null gefüllt sind), und ich möchte diese Tatsache nutzen, um zuerst die Gelenkgleichungen zu optimieren und dann die vorherige Lösung als Eingabe zu verwenden unabhängige Komponenten. Die Regeln, die die Beziehung zwischen den Aufgaben angeben, können als ein orientierter Graph dargestellt werden, aber dieser Graph enthält einen Zyklus wegen der gemeinsamen Gleichungen, was bedeutet, dass ich keine topologische Sortierung darauf verwenden kann.Optimale Optimierungsreihenfolge

Hat jemand eine Idee, wie man diese Art von PB lösen kann?

Thx

+0

Ich würde mehr Details benötigen, um das Problem zu verstehen. Auf jeden Fall können Graphen mit Zyklen topologisch sortiert werden, indem die Zyklen als Äquivalenzklassen behandelt werden. – Apalala

+0

Ja, ich stimme dem vollkommen zu. Die Frage ist, zuerst die Äquivalenzklasse zu berechnen und dann vielleicht eine topolische Sortierung zu verwenden. Kennst du irgendwo, die diesen Ansatz verwenden? – Dave

Antwort

0

Es gibt ein paar Arten von Frameworks Sie hineinblicken kann (anstatt es selbst zu erfinden), die Ihr Problem lösen könnte. Die Frage ist ein wenig zu abstrakt zu sagen, welches Ihren Bedürfnissen entspricht, so einen Blick auf diese nehmen:

  1. einen Solver Rahmen Verwenden Sie diese Optimierung zu lösen und den Suchraum schauen. Werfen Sie einen Blick auf Drools Planner, Gurobi, JGap, OpenTS, ...
  2. Verwenden Sie eine Regelengine, um die Optimierungsänderungen anzuwenden. Werfen Sie einen Blick auf Drools Expert, JESS, ...