Ich habe einen Datensatz mit ungefähr 500.000 Einträgen, und ich möchte herausfinden, welche Zeile die beste Kombination ist, wenn eine Reihe von Einschränkungen gegeben ist.Optimieren eines Datasets mit Einschränkungen (keine Funktion)
Ich habe verschiedene lineare Programmiermethoden angeschaut, aber eine meiner Variablen wurde von den anderen mit einem neuronalen Netzwerk erzeugt. Nachdem ich das neuronale Netzwerk nicht mehr in einen linearen Programmierbefehl eingebunden habe, habe ich mich jetzt damit abgefunden, stattdessen die beste Zeile aus einem Datensatz auszuwählen, der unter Verwendung des neuronalen Netzwerks erzeugt wurde. Hier
ist ein Auszug meiner Daten-Set:
[Speed] [BoostP] [InletT] [ExhaustT] [FuelFlow] [Lambda] [Torque]
[1] 0.25 1.53144 2.29048 -0.39812 -0.65421 -0.19841 0.52364
[2] 0.50 -2.26588 0.54588 2.65987 0.05721 -0.78777 0.53268
[3] 0.25 0.14583 0.89634 0.98554 -0.33293 0.48981 0.51389
[4] 0.25 -0.21985 0.84242 0.66724 0.12758 -0.89856 0.48713
[5] 0.25 0.52630 0.79399 0.73567 0.13699 0.69841 0.56812
[6] 0.75 0.87531 0.84658 0.98555 2.98945 0.26843 0.52487
[7] 0.25 0.96512 0.88127 2.35642 0.98254 1.89546 0.50320
[8] 0.25 -0.05984 0.65542 4.58643 -0.56988 -2.65412 0.59856
Das Ziel meiner Arbeit ist, um herauszufinden, welche Kombination die höchste Drehmoment bei reduziertem Kraftstoffverbrauch zurückkehrt, das heißt, minimiert die folgende Funktion:
f<-(2/(1+Torque))+0.25*FuelFlow+0.05*ExhaustT
Die Einschränkungen ich habe, sind wie folgt:
Speed=0.25
ExhaustT<=2.5
-0.5<=Lambda<=1.5
Welches R-Paket kann dies erreichen? Wenn jemand weiß, wie man ein neuronales Netzwerk innerhalb einer LP aufruft, würde ich diese Methode lieber verwenden. Vielen Dank!
Der einfachste Weg ist Ihre Matrix und dann wenden Sie die Funktion mit 'which.min' auf den Ausgang wählen Sie die Zeile mit dem minimalen Wert der Teilmenge. 'myMatNew <- myMat [myMat [," Geschwindigkeit "] == 0.25 & myMat [," Auspuff "] <= 2.5,]' etc, dann führe die Funktion über myMatNew aus. – lmo