[Firm] FIRM Solver-Schnittstelle + 3 crash tests

Matthias Braun matze at braunis.de
Wed Oct 23 16:20:45 CEST 2013


Am Mittwoch, den 23.10.2013, 12:36 +0000 schrieb
volkmar.klatt at bnv-bamberg.de:
> Hi Matze (alias Dr. etc. pp) / Firm-Team,
> 
> 1 + 1/2 Frage 
> und 3 Testfälle:
> 
> Libfirm besitzt Schnittstellen für
> ganzzahlige Optimierung, anscheinend zu
> cplex (nun IBM) und
> gurobi (=cplex-Fork seines alten Teams).
> Beides proprietäre Software.
> 
> Wärs nicht machbar und *sinnvoll*,
> ne direkte Solver-Schnittstelle zum
> tollen Solver SCIP zu bauen,
> den das Konrad-Zuse-Institut Berlin
> entwickelt und unter akademische Lizenz
> (leider nicht GNU) gestellt hat?!
> 
> (Mit-)Entwickler/Maintainer Thorsten Koch
> solltet ihr eh' kennen, wär schlimmer Fehler,
> falls nicht!  ruft ihn doch mal an bzw. mailt!
> http://www.zib.de/koch 
> koch at zib.de 
> 
> Zusatzfrage, weil sich's aus undokumentierten
> Quellen schwer erschließt:
> libfirm Ordner lpp *enthält* code für MPS-Format
> sowie mps_write_mps()
> Kann man denn aus cparser MPS exportieren,
> ums extern lösen zu lassen??
> (etwa via Pipe unter Mithilfe eines Skriptes)
> Aber Funktion+Option zum Einlesen der Lösung fehlt, oder?
> 
> MPS (oder LP-Format) Import/Export wär IMHO besser
> statt direkter Solverschnittstelle, da Standard und
> würde libfirm's externe Abhängigkeiten verringern.

Meine Empfehlung wäre für libfirm releases gar keine ILP Schnittstelle
zu aktivieren (machen die Makefiles ja auch nicht so weit ich weiss).
Meiner Erfahrung nach rechtfertigt der Gewinn durch die ILP basierten
Algorithmen nicht den extrem erhöhten Zeitaufwand. Für
Forschungsvorhaben nehmen wir den Code natürlich trotzdem noch um
optimale Lösungen als Vergleich zu haben. Dafür gibts sowohl bei gurobi
als auch bei cplex kostenlose Lizenzen zum akademischen Gebrauch.
Weitere Implementierungen der Schnittstelle haben wir nicht geplant,
patches würden wir aber aufnehmen.

> 
> ---
> 
> Im Anhang paar cracy test files,
> welche cparser/libfirm git20131021 crashen.
> (sowohl Knoppix Linux 32bit, 4 Cores Intel i5,
> wie Cygwin, Windows 7 Prof. 32bit, 2 Cores Intel Atom
> wobei ich da includes zu alloca.h reinhacken musste)
> 
> ca. 12/15000 Crashs, meistens silent (ohne Fehlermeldung),
> d.h. schlecht minimierbar,
> wohl rund um struct / union 
> (erst nach letzter Release eingeschlichen).
Einer der Fälle wurde glaube ich genau heute von Sebastian gefixt. Die
anderen beiden guck ich mir noch an.

Gruß
	Matthias




More information about the Firm mailing list