Problem bei linearer Optimierung

Hallo zusammen,

ich versuche, ein Problem mittels linearer Optimierung zu lösen, bin mir aber gerade nicht sicher, ob das Problem „linear genug“ ist. Ich stelle das Problem einmal vereinfacht dar:

Zielfunktion (soll maximiert werden):

s1 * a1 * p1 + … + s100 * a100 * p100

Nebenbedingungen:

st ist eine vorgegebene Zeitreihe mit positiven Werten. Diese ist hier aber nur nebensächlich.

pt ist 2, wenn at größer 0 ist
pt ist 1, wenn at kleiner 0 ist

a1 + … + a100 = 0

at kann beliebige positive oder negative reelle Werte zwischen -1000 und 2000 annehmen. Diese sind durch die Optimierung zu bestimmen.

Die Definition von pt macht das Problem meiner Meinung nach nicht mehr linear. Meine Frage: Gibt es eine Möglichkeite, dieses Problem so zu „linearisieren“,
dass die Nebenbedingungen inhaltlich dieselben bleiben?

Beste Grüße,
Claas

pt ist 2, wenn
at größer 0 ist
pt ist 1, wenn
at kleiner 0 ist

Hallo Claas !

Interessante Aufgabe. Was passiert denn wenn at=0 ? Sagen wir mal, dass pt dann 1,5 sein soll. Dann lässt sich das zusammenfassen zu:
pt=1,5+0,5*sgn(at), wobei sgn die Signumfunktion ist, also
sgn(x)=1, falls x>0
sgn(x)=0, falls x=0
sgn(x)=-1, falls xt mit at, und pt ist über die Nebenbedingungen mit at gekoppelt, dadurch geht die Linearität verloren.

hendrik