Hallo Liste,
wieso geht folgendes nicht (Mathematica 4.2):
f[x_, y_] := LinearProgramming[{x + y, x - y}, {{}}, {}, {{0, 1}, {2, 3}}];
g[a_, b_] := a + b + f[a + b, a - b];
FunctionalFindMinimum[f_, start_List] := (# /. Last[
FindMinimum[f[#], Evaluate[Sequence @@ (
Transpose[{#, start}])]]]) &[Unique[x] & /@ start];
FunctionalFindMinimum[g, {0.1, 0.1}]
ergibt
FindMinimum::fmgs: Could not symbolically find the gradient of \
g[{x$340,x$341}]. Try using the default method, giving two starting values \
for each variable.
ReplaceAll::reps: {{x$341,0.1}} is neither a list of replacement rules
nor a \
valid dispatch table, and so cannot be used for replacing.
Die Definition von FunctionalFindMinimum habe ich ergoogelt, ein
einfaches FindMinimum funktioniert auch nicht.
In Wirklichkeit ist natürlich das Problem, das ich lösen möchte,
komplexer, er lässt sich aber allgemein als Verkettung von
LinearProgramming und FindMinimum darstellen.
Ich verstehe nicht, warum Mathematica den Gradienten symbolisch
bestimmen möchte, aus der Dokumentation erwarte ich, dass numerisch ein
Minimum gesucht wird?
Dankbar für Hinweise
Andreas Tanner.
--
Intelligente Netze und Management verteilter Systeme
TU Berlin
Fakultät 4, Sekretariat EN 6
Einsteinufer 17
D-10587 Berlin
Tel. +49 30 314 79835 Fax +49 30 314 24573
http://www.ivs.tu-berlin.de