Naja ne Formel gibt es nicht wirklich, um das zu berechnen. Jedem Bauteil sind zwei Ausfallwerte zugeordnet (im Prinzip eine Eigenschaft). Einmal der Ausfall wenn das Bauteil als Ersatzteil vorliegt und einmal der Ausfall wenn das Bauteil nicht als Ersatzteil vorliegt. Deswegen würde ich sagen ist es eine einfach Addition von Werten einfach. Und es wäre so, wenn das Bauteil in der Kombination vorkommt, hat es den Ausfall mit Ersatzteil und alle anderen Bauteile, die übrig bleiben, haben den Ausfall ohne Ersatzteil und damit kann dann am Ende ein Gesamtausfall berechnet werden.
Zitat:
Mit anderen Worten, du willst ein Optimierungsproblem lösen?
Ja es ist ein Optimierungsproblem, bisher habe ich aber keinen Algorithmus gefunden, der mein Problem lösen kann, denn meiner Meinung ist das Problem nicht linear zu lösen.
Dann sag das doch gleich...
Jetzt müsste man nur noch genau definieren, was optimiert werden soll und unter welchen Nebenbedingungen. Minimiere Ausfall unter NB Einhaltung des Budgets?
Zitat:
denn meiner Meinung ist das Problem nicht linear zu lösen.
Die Kostenfunktion bzw. die Abweichung davon ist linear. Wenn es keine Interaktion zwischen den Ausfällen gibt, dürfte auch das linear sein.
So oder so: für lineare Probleme intlinprog, für nichtlineare ga.
also eine Nebenbedingung ist, das das Budget nicht überschritten werden darf, aber es darf gleich sein der Bauteilkosten und der Ausfall soll minimiert werden. Wobei es für den Ausfall immer zwei Möglichkeiten gibt, einmal mit Ersatzteil (dann ist er in der Regel kleiner) und einmal ohne Ersatzteil (dann ist er in der Regel höher).
Dann habe ich aber noch solche Nebenbedingungen, wenn es dieses Bauteil mehr als z.B. 10 gibt, soll es nur 2 gekauft werden. Wobei danach könnte ich die Liste auch vorher durchsuchen lassen und in dem Fall 7 Bauteil rausnehmen und nur 3 drin lassen. Und diese Nebenbedingung war in meinen Augen einfach zu filtern, nachdem man alle Kombinationen hat.
Ja das stimmt das es unglaublich viele Kombinationen gibt, deswegen bin ich jetzt auch dazu übergegangen "zufällig" Kombinationen zu Würfeln. D.h. ich Würfel 1e06 mal mir eine zufällige Anzahl an Bauteilen und dann lasse ich mir eine zufällige "Positionen" (die Stellen in denen die Bauteile in der Matrix stehen) auswerfen, die meiner zufälligen Anzahl entsprechen. Sprich:
Insgesamt 100 Bauteile
zufällige Anzahl=5
Positionen=[26,1,30,55,78]
Und dann lasse ich mir für diese Position die Kosten ausrechnen und gucke, ob sie in mein Budget passen. Passt die Kombination in mein Budget speichere ich sie, passt sie nicht mache ich mit der nächsten Zufallsausgabe weiter.
Das gute ist, die Anzahl der Würfe kann ich ja "beliebig" erhöhen. Und zum Schluss schmeiße ich alle doppelten Kombinationen raus. Und danach kann ich weiter filtern, nach meinen Belieben.
Dann probiere ich es nochmal, es etwas besser zu beschreiben.
Kosten Bauteile: --> wobei n die Anzahl der gesamten Bauteile ist
Ausfall:
Welcher Ausfall genommen wird entscheidet, ob das Bauteil gekauft worden ist(AusfallmitBauteil) oder ob es nicht gekauft worden ist (AusfallohneBauteil).
NB: KostenBauteile maxBudget
Ziel ist es den Ausfall so gering wie möglich zu machen.
Hoffe das macht es etwas klarer. Und die Anzahl der Bauteile müssen ganzzahlig sein, denn es können ja nicht 1,5 Bauteile gekauft werden.
gibt es je nach Anzahl der Bauteile unterschiedliche Ausfallkosten?
Falls es nur die Entscheidung ist, ob ein Bauteil berücksichtigt wird, wäre es klar:
BTmit: Spaltenvektor der Ausfallkosten mit Bauteil
BTohne: Spaltenvektor der Ausfallkosten ohne Bauteil
Kosten: Spaltenvektor der Anschaffungskosten
n: Anzahl der Bauteile
Code:
f = (BTohne - BTmit)';
intcon = 1:n;
A = Kosten';
b = Budget;
Aeq = [];
beq = [];
lb = zeros(n,1);
ub = ones(n,1);
intlinprog(f,intcon,A,b,Aeq,beq,lb,ub)
gibt es je nach Anzahl der Bauteile unterschiedliche Ausfallkosten?
Wie meinst du das? Die gesamt Ausfallkosten ändern sich natürlich mit der Anzahl der Bauteile, aber der Ausfall mit und ohne BT für das jeweilige BT ändert sich nicht, die sind fest gelegt. Das heißt BT1 hat immer den gleichen Ausfall für die zwei Fälle.
Was aber der Fall ist, dass BT1,BT2,BT3 in meiner Tabelle "unterschiedliche" Bauteile sind aber in der Wirklichkeit, sind es die selben. Und dann wäre der Fall, bei 3 gleichen zum Beispiel, dass nur eins dieser 3 benötigt wird.
Du kannst Beiträge in dieses Forum schreiben. Du kannst auf Beiträge in diesem Forum antworten. Du kannst deine Beiträge in diesem Forum nicht bearbeiten. Du kannst deine Beiträge in diesem Forum nicht löschen. Du kannst an Umfragen in diesem Forum nicht mitmachen. Du kannst Dateien in diesem Forum posten Du kannst Dateien in diesem Forum herunterladen
MATLAB, Simulink, Stateflow, Handle Graphics, Real-Time Workshop, SimBiology, SimHydraulics, SimEvents, and xPC TargetBox are registered trademarks and The MathWorks, the L-shaped membrane logo, and Embedded MATLAB are trademarks of The MathWorks, Inc.