Matroids Matheplanet Forum Index
Moderiert von matroid
Mathematik » Numerik & Optimierung » Gleichungssystem mit Parametern optimieren
Druckversion
Druckversion
Autor
Kein bestimmter Bereich J Gleichungssystem mit Parametern optimieren
shin
Junior Letzter Besuch: im letzten Quartal
Dabei seit: 25.05.2019
Mitteilungen: 13
Zum letzten BeitragZum nächsten BeitragZum vorigen BeitragZum erstem Beitrag  Themenstart: 2020-03-17


Hi,

keine Ahnung ob das hierher passt oder besser in die lineare Algebra... ich versuche es mal hier :)

Ich habe ein Gleichungssystem, das wie folgt aussieht:

fed-Code einblenden

Vielen Dank!



  Profil  Quote  Link auf diesen Beitrag Link
Kitaktus
Senior Letzter Besuch: in der letzten Woche
Dabei seit: 11.09.2008
Mitteilungen: 6373
Aus: Niedersachsen
Zum letzten BeitragZum nächsten BeitragZum vorigen BeitragZum erstem Beitrag  Beitrag No.1, eingetragen 2020-03-17


Im gegebene Gleichungssystem kann man die Lösung $x$ ja ausrechnen. Es ist $x_1=4P_a/P_d$, $x_2=2P_b/P_d$, $x_3=8P_c/P_d$ und $x_4=12$.
Damit kann man $x_1+x_2+x_3+x_4$ direkt berechnen und erhält $\frac{4P_a+2P_b+8P_c}{P_d}+12$.
Wie man hier weiter vorgeht hängt von der Eigenschaft der möglichen Werte ab. sind alle positiv, dann muss man $P_a,P_b$ und $P_c$ so klein wie möglich wählen und $P_d$ so groß wie möglich.

Ob der Ansatz auch für die "echten" Probleme taugt, hängt natürlich von deren Struktur ab.



  Profil  Quote  Link auf diesen Beitrag Link
shin
Junior Letzter Besuch: im letzten Quartal
Dabei seit: 25.05.2019
Mitteilungen: 13
Zum letzten BeitragZum nächsten BeitragZum vorigen BeitragZum erstem Beitrag  Beitrag No.2, vom Themenstarter, eingetragen 2020-03-17


Ja, hier könnte man das tatsächlich ausrechnen.

Leider sehen die echten Matrizen nur dem Schema nach so aus und sind auch deutlich größer. Zudem möchte ich das Problem mit dem PC lösen und mir ist keine Methode bekannt, wie ein Rechner ein Gleichungssystem mit Parametern lösen kann. Ab da wäre das ja relativ simpel...

Ich suche also nach einem allgemeinen Vorgehen solch ein Problem (Gleichungssystem, das neben den Unbekannten noch Parameter hat) zu lösen.

Die Parameter sind alle positiv.





  Profil  Quote  Link auf diesen Beitrag Link
Caban
Senior Letzter Besuch: in der letzten Woche
Dabei seit: 06.09.2018
Mitteilungen: 974
Aus: Brennpunkt einer Parabel
Zum letzten BeitragZum nächsten BeitragZum vorigen BeitragZum erstem Beitrag  Beitrag No.3, eingetragen 2020-03-17


Hallo

Mit der cramerschen Regel sollte eine Lösung auch mit Paramtern möglich sein.

Gruß Caban



  Profil  Quote  Link auf diesen Beitrag Link
Kitaktus
Senior Letzter Besuch: in der letzten Woche
Dabei seit: 11.09.2008
Mitteilungen: 6373
Aus: Niedersachsen
Zum letzten BeitragZum nächsten BeitragZum vorigen BeitragZum erstem Beitrag  Beitrag No.4, eingetragen 2020-03-17


Solange in jeder Spalte nur ein Parameter vorkommt und das immer in der selben Form (hier 1/Px), ist das kein Problem. Du kannst das z.B. so umschreiben:

fed-Code einblenden

Das kannst du nach $y$ auflösen und danach die Werte für $x$ ausrechen.

Aber wie gesagt, das hängt halt alles sehr davon ab, wie die Gleichungen konkret aussehen.



  Profil  Quote  Link auf diesen Beitrag Link
shin
Junior Letzter Besuch: im letzten Quartal
Dabei seit: 25.05.2019
Mitteilungen: 13
Zum letzten BeitragZum nächsten BeitragZum vorigen BeitragZum erstem Beitrag  Beitrag No.5, vom Themenstarter, eingetragen 2020-03-18


@Caban

soweit ich weiß, bringt mir das am Rechner auch nix. Zumal der Rechenaufwand bei der Cramer'schen Regel ebenfalls durch die Decke geht.

@Kitaktus

Danke, damit hast du mir sehr geholfen... zu erkennen, dass meine Ausgangsannahme falsch ist :)

Mit deiner Lösung habe ich nun erkannt, dass alle Matrizen auf die, in deiner ersten Antwort gegebenen, Formel für \(\sum{x_i}\) führen und ich immer den Parameter, der im b-Vektor steht (hier \(P_d\)) am größten und alle anderen am kleinsten wählen muss. Daher ist mir nun klar, dass meine Optimierungsaufgabe falsch gestellt ist, bzw. ich gar nicht \(min(\sum{x_i})\) suche.



Ich möchte kurz den Sinn und Zweck erklären, damit klarer wird, was ich eigentlich erreichen will und vllt. kann mir dann jemand einen Tipp geben, wie ich das angehe:

Im Grunde ist es eine Fortführung meines Problem aus diesem Thread (habe erst jetzt wieder Zeit mich damit zu beschäftigen).

Es geht dabei um den optimalen Aufbau von Produktionsketten  (in einem PC-Spiel). D.h. gesucht ist jeweils die Anzahl an Produktionsgebäuden, so dass weder ein Überschuss noch ein Mangel innerhalb der Kette entsteht und alles reibungslos abläuft.

@StrgAltEntf hat mir damals den Tipp gegeben, erst alles auf einen gemeinsamen Zeitraum zu bringen und dann mein Gleichungssystem aufzustellen. Das habe ich auch getan und damit dann ein Script geschrieben, welches das System löst und anschließend noch die Anzahl der Gebäude auf natürliche Zahlen bringt (s. verlinkter Thread). Das funktioniert im Prinzip auch genau so.

Problem: Bei großen Produktionsketten kommt es vor (eigentlich immer), dass die Gebäudeanzahl in den hunderten liegt, da die Zeiten, die die verschiedenen Gebäude zur Produktion brauchen, nicht immer perfekt zusammen passen (es fehlt an gemeinsamen Teilern).

Das Spiel bietet nun die Möglichkeit, die Effizienz der Gebäude anzupassen. D.h. man kann zwischen 20% und 200% (in 25%-Schritten, ohne die 175%) wählen. Daher kommen auch die sieben bekannten Werte, die in den Parameter-Sets stecken. Läuft eine Produktion mit 200%, dann braucht sie nur die Hälfte der Zeit, etc. Damit ist es nun prinzipiell möglich, die Zeiten so abzustimmen, dass sie besser zusammenpassen und daher die gesamte Anzahl der Produktionsgebäude abnimmt (einfach weil mehr gemeinsame Teiler auftreten).

Meine ursprüngliche Idee war nun, nicht erst alles auf einen gemeinsamen Zeitraum zu bringen, sondern die einzelnen Produktionszeiten als Parameter mitzuschleppen. Dann sollten die Parameter so gewählt werden, dass die Anzahl der Gebäude minimal wird, also das gilt: \(min(\sum{x_i})\).

Mir ist nun aber aufgefallen, dass nicht das Minimum wichtig ist, sondern die Teilbarkeit der einzelnen Zeiten untereinander. Und hier fällt mir gerade nichts ein, wie man das angehen könnte und ich wäre für Tipps sehr dankbar!

Falls das noch nicht so ganz klar ist, bitte gerne rückfragen!

Vielen Dank!



  Profil  Quote  Link auf diesen Beitrag Link
Kitaktus
Senior Letzter Besuch: in der letzten Woche
Dabei seit: 11.09.2008
Mitteilungen: 6373
Aus: Niedersachsen
Zum letzten BeitragZum nächsten BeitragZum vorigen BeitragZum erstem Beitrag  Beitrag No.6, eingetragen 2020-03-18


Hallo shin,

ein Wort vorweg:
Die Cramersche Regel wird nicht verwendet, um (größere) Gleichungssysteme tatsächlich zu lösen, weil es effizientere Verfahren gibt. Bei 30x30 Problemen macht sich das noch nicht so bemerkbar, aber asymptotisch ist das bei NxN Problemen um Faktor N schneller.

So ganz habe ich Dein Problem nicht verstanden.
Du schreibst:
Problem: Bei großen Produktionsketten kommt es vor (eigentlich immer), dass die Gebäudeanzahl in den hunderten liegt, da die Zeiten, die die verschiedenen Gebäude zur Produktion brauchen, nicht immer perfekt zusammen passen (es fehlt an gemeinsamen Teilern). ...
Damit ist es nun prinzipiell möglich, die Zeiten so abzustimmen, dass sie besser zusammenpassen und daher die gesamte Anzahl der Produktionsgebäude abnimmt (einfach weil mehr gemeinsame Teiler auftreten).

Wieso ist die Zahl der Gebäude kleiner, wenn irgendwelche Zeiten einen gemeinsamen Teiler haben? Das ist mir rätselhaft.
Kannst Du die Spielmechanik mal an einem kleineren Beispiel beschreiben?



  Profil  Quote  Link auf diesen Beitrag Link
shin
Junior Letzter Besuch: im letzten Quartal
Dabei seit: 25.05.2019
Mitteilungen: 13
Zum letzten BeitragZum nächsten BeitragZum vorigen BeitragZum erstem Beitrag  Beitrag No.7, vom Themenstarter, eingetragen 2020-03-18


bezüglich Cramer: Ein Rechner kann doch trotzdem nicht mit Parametern rechnen, oder? Im Wikipedia-Artikel steht, dass die Rechenzeit ziemlich schnell seeehr groß wird. Wobei die von einem relativ langsamen Rechner auszugehen scheinen.

Zum Thema:

Der von mir verlinkte Thread beschreibt das eigentlich ganz gut (s. Bild im Startpost dort): Angenommen man will A-Produkte herstellen. In 30 Tagen stellt eine Fabrik A ein A-Produkt her. Dabei verbraucht sie (in diesen 30 Tagen) 2 B-Produkte und 2 C-Produkte. Das ganze zieht sich über verschiedene Zwischenprodukte bis ganz "unten" Rohstoffe sind. Damit nun weder ein Überschuss noch ein Mangel an Zwischenprodukten und Rohstoffen entsteht, ist die Hauptaufgabe, die jeweils notwendige Anzahl an Fabriken (A-E im Beispiel des anderen Threads) zu bestimmen. Dabei wird zunächst angenommen, dass es nur eine einzige A-Fabrik gibt. Daraus resultieren dann "krumme" Zahlen was die anderen Fabriken angeht. In einem zweiten Schritt, wird dann die Anzahl der jeweiligen Fabrik auf eine ganze Zahl gebracht (das Verhältnis der Fabriken untereinander bleibt dabei dann natürlich konstant).

Das Hauptproblem ist nun, dass die einzelnen Fabriken immer unterschiedlich lange brauchen, um ihr jeweiliges Zwischenprodukt oder den Rohstoff herzustellen. Dabei gibt es Produktionszyklen, die z.B. 25 Tage dauern (nicht in dem Beispiel aus dem anderen Thread). 25 hat nur drei Teiler (1, 5 und 25). Andere Produktionszyklen dauern beispielsweise 40 Tage und 40 hat viel mehr Teiler. Meine Einschätzung ist jetzt: Je mehr gemeinsame (große) Teiler die einzelnen Produktionszyklen haben, desto besser kann man die Anzahl der Fabriken mit kleinen(kleineren) ganzen Zahlen beschreiben (Das Verhältnis muss ja immer gleich sein).

Als konkretes Beispiel: Löst man das System im anderen Thread, erhält man für die Anzahl der Fabriken: a = 6, b = 27, c = 8, d = 27, e = 12.
Ändert man hingegen die Zeiten auf Ta = 40 (statt 30), Tb = 20 (statt 45), Tc = 10 (statt 40), Td = 20 (statt 45), Te = 10 erhält man a = 4, b = 6, c = 1, d = 6, e = 6. D.h. man kann das System mit weniger Fabriken ins richtige Verhältnis bringen.

Mit Hilfe der erwähnten Effizienz kann man, in vorgegebenen Schritten, die Zeiten verändern und somit (meine Hoffnung) zu einer sinnvollen Anzahl an Fabriken kommen (bei meiner 30x30 Matrix sind das teilweise mehr als 500, was wenig Sinn ergibt).

Klarer geworden?

Nochmal vielen Dank!



  Profil  Quote  Link auf diesen Beitrag Link
Kitaktus
Senior Letzter Besuch: in der letzten Woche
Dabei seit: 11.09.2008
Mitteilungen: 6373
Aus: Niedersachsen
Zum letzten BeitragZum nächsten BeitragZum vorigen BeitragZum erstem Beitrag  Beitrag No.8, eingetragen 2020-03-18


Ich formuliere Dein Problem mal um und Du sagst mir, ob ich das richtig erfasst habe.

a) Wir können berechnen, in welchem Verhältnis die Anzahlen von (Standard-)Fabriken stehen müssen, damit nur Güter einer Sorte produziert werden.
b) Typischerweise sind das gebrochene Zahlen und wir müssen mit dem gemeinsamen Nenner erweitern um auf eine ganzzahlige Lösung zu kommen.
c) Wir können die Effizienz der Fabriken verändern und versuchen das so zu tun, dass wir mit möglichst wenigen Fabriken auskommen.
d) Ohne die Ganzzahligkeitsbedingung ist das Ergebnis klar. Wir machen den Endproduzenten langsam, damit wenig produziert wird und die Zulieferer machen wir schnell, damit wir mit wenigen auskommen. Du willst aber eine Lösung _mit_ Ganzzahligkeitsbedingung!

Was könnte man da tun?

Schauen wir uns die verlinkte Lösung an. Die Lösung (mit Normierung a=1) ist dort gewesen: a=1, b=9/2, c=4/3, d=9/2, e=2. Durch die 2 und die 3 im Nenner müssen wir mit Faktor 6 erweitern und kommen auf a'=6, b'=27, c'=8, d'=27, e=12, Summe=80.

Jetzt kommt es darauf an, welche Beschleunigungsfaktoren f im Angebot sind. Wenn ich dich richtig verstanden habe, sind das die Faktoren: 1/4, 1/2, 3/4, 1, 5/4, 3/2 und 2, richtig?
Was passiert, wenn man Fabriken mit Faktor 1 durch Fabriken mit Faktor f ersetzt? Da wo wir vorher a Fabriken gebraucht haben, brauchen wir jetzt a/f. Wir multiplizieren als mit dem Kehrwert von f, das ist einer der Faktoren f': 4, 2, 4/3, 1, 4/5, 2/3 und 1/2. Diese Faktoren können wir verwenden, um störende Nenner zu beseitigen. Im Beispiel sind das die Nenner 2 und 3. Wir sehen aber, keiner der Faktoren f' hat eine 3 im Zähler, mit der wir die drei im Nenner ausgleichen können. Schade!
Aber die Zweien lassen sich ausgleichen. Dazu multiplizieren wir mit einem möglichst kleinen f', dass einen Faktor 2 im Zähler hat, aber im Nenner nur Faktoren, die sich mit dem aktuellen Bruch kürzen lassen. Da kommt der Faktor 2/3 für b und d in Betracht.
Wenn wir das machen kommen wir auf:
a=1, b=9/2*2/3=3, c=4/3, d=9/2*2/3=3, e=2. Wir müssen nur noch mit 3 erweitern und kommen zur Lösung a'=3, b'=9, c'=4, d'=9, e'=6, Summe=31, wobei die Fabriken b und d vom Typ 150% sind.
Das war die Strategie "Erweiterungsfaktoren einsparen".

Jetzt kommt noch die Strategie "Fabriken einsparen". Wir können prüfen, ob wir bisher verwendete Fabriken durch schnellere ersetzen können. Das klappt, wenn wir uns dadurch nicht neue Faktoren im Nenner einfangen.
Wir können die Fabriken a mit dem Faktor f'=2/3 versehen, also 3 normal durch 2 150%er ersetzen und wir können bei c und e 200%er einsetzen.
Es ergibt sich die Lösung:
150er Fabriken: 2*a, 9*b, 9*d und 200er Fabriken: 2*c, 3*e. Das sind dann nur noch 25 Fabriken.
Ist das das Optimum?

Nein. Bis jetzt haben wir alle Fabriken einer Sorte durch Fabriken mit einer anderen Effizienz ersetzt, aber alle Fabriken durch die _gleiche_ Sorte. Vielleicht ist das gar nicht notwendig -- das musst Du beurteilen, ob man die Fabriken mit unterschiedlichen Effizienzen laufen lassen kann.

Nehmen wir die Ausgangslösung und kürzen einen Faktor 4 heraus:
a=3/2, b=27/4, c=2, d=27/4, e=3. Diese Vielfachen von 1/4 können wir als Summe unterschiedlich effizienter Fabriken darstellen.
Für a nehmen wir einen 150%er. Für b und d jeweil drei 200% und einen 75%, für c einen 200% und für e zwei 150%er. Macht zusammen 12 Fabriken!

Da sind wir von 80 schon ein ganzes Stück runtergekommen.

Fazit: Zähler, die keine Zweierpotenzen sind lassen sich vermutlich nur durch Erweitern entfernen. Zweierpotenzen muss man bis auf den Zähler 4 ebenfalls "wegerweitern". Die verbleibenden Brüche mit Nenner 4 lassen dann als Summer von Effizienzklassen 1/4, 1/2, 3/4, 1, 5/4, 3/2 und 2 darstellen. Wenn es nur um die Anzahl geht, nimmt man dazu lauter 200%er und am Schluss noch eine Fabrik, so dass es aufgeht, es sei denn der Rest ist gerade 175%, dann braucht man noch eine Fabrik mehr.

Mit der Methode kommst Du aber nicht mehr als einen Faktor <8 nach unten.
Dazu müsstest Du wahrscheinlich die Vorderung aufgeben, dass gar kein Rest übrig bleibt.

Ist das so, wie Du Dir das vorstellst?





  Profil  Quote  Link auf diesen Beitrag Link
shin
Junior Letzter Besuch: im letzten Quartal
Dabei seit: 25.05.2019
Mitteilungen: 13
Zum letzten BeitragZum nächsten BeitragZum vorigen BeitragZum erstem Beitrag  Beitrag No.9, vom Themenstarter, eingetragen 2020-03-19


Hallo Kitaktus!

Ja, das scheint so genau zu stimmen :) Ich werde deinen Post nochmal in Ruhe durchlesen und darüber nachdenken und mich dann wieder melden.

LG



  Profil  Quote  Link auf diesen Beitrag Link
shin
Junior Letzter Besuch: im letzten Quartal
Dabei seit: 25.05.2019
Mitteilungen: 13
Zum letzten BeitragZum nächsten BeitragZum vorigen BeitragZum erstem Beitrag  Beitrag No.10, vom Themenstarter, eingetragen 2020-03-19


Also, nachdem ich deine Antwort nun gelesen und durchdacht habe: Sehr gut, vielen Dank! Es ist ziemlich genau so, wie ich mir das vorstelle :) Allerdings habe ich noch ein paar Rückfragen:

2020-03-18 18:41 - Kitaktus in Beitrag No. 8 schreibt:
... Bis jetzt haben wir alle Fabriken einer Sorte durch Fabriken mit einer anderen Effizienz ersetzt, aber alle Fabriken durch die _gleiche_ Sorte. Vielleicht ist das gar nicht notwendig -- das musst Du beurteilen, ob man die Fabriken mit unterschiedlichen Effizienzen laufen lassen kann.

Das ist eine sehr gute Idee, die auch möglich ist. Darauf bin ich gar nicht gekommen!

2020-03-18 18:41 - Kitaktus in Beitrag No. 8 schreibt:
Nehmen wir die Ausgangslösung und kürzen einen Faktor 4 heraus:

Warum ausgerechnet der Faktor 4? Weil es bei den Effizienzfaktoren der größte Nenner ist, oder hängt das von den jeweiligen Werten ab?

2020-03-18 18:41 - Kitaktus in Beitrag No. 8 schreibt:
a=3/2, b=27/4, c=2, d=27/4, e=3. Diese Vielfachen von 1/4 können wir als Summe unterschiedlich effizienter Fabriken darstellen.
Für a nehmen wir einen 150%er. Für b und d jeweil drei 200% und einen 75%, für c einen 200% und für e zwei 150%er. Macht zusammen 12 Fabriken!

Da sind wir von 80 schon ein ganzes Stück runtergekommen.

Das ist ein sehr guter Weg. Danke!

2020-03-18 18:41 - Kitaktus in Beitrag No. 8 schreibt:
Fazit: Zähler, die keine Zweierpotenzen sind lassen sich vermutlich nur durch Erweitern entfernen. Zweierpotenzen muss man bis auf den Zähler 4 ebenfalls "wegerweitern".

Den Satz verstehe ich nicht - müsste da nicht "Nenner" anstatt "Zähler" stehen?

2020-03-18 18:41 - Kitaktus in Beitrag No. 8 schreibt:
Mit der Methode kommst Du aber nicht mehr als einen Faktor <8 nach unten.
Dazu müsstest Du wahrscheinlich die Vorderung aufgeben, dass gar kein Rest übrig bleibt.

Woher kommt der Faktor 8 denn? Die Forderung, dass kein Rest übrig bleibt ist ja gerade der Sinn der ganzen Übung :) Aber mit deiner Methode ist schon eine ordentliche Reduktion drin!


Jetzt bleiben nur noch zwei Fragen:

1. Wie automatisiere ich das ganze jetzt? (Darüber werde ich als nächstes nachdenken)
2. Vllt. eine komische Frage, aber das interessiert mich, um mich selbst zu verbessern: Wie war denn dein Gedankengang, um auf diese Lösung (mit den drei Teilschritten: Faktoren, Fabriken, Aufteilen der Effizienzen) zu kommen? Wenn ich mich mit sowas beschäftige, verrenne ich mich immer in gedanklichen Fehlschlüssen, daher würde mich interessieren, "wie" man sowas am besten angeht.

Nochmals vielen Dank!



  Profil  Quote  Link auf diesen Beitrag Link
Kitaktus
Senior Letzter Besuch: in der letzten Woche
Dabei seit: 11.09.2008
Mitteilungen: 6373
Aus: Niedersachsen
Zum letzten BeitragZum nächsten BeitragZum vorigen BeitragZum erstem Beitrag  Beitrag No.11, eingetragen 2020-03-19


2020-03-19 11:45 - shin in Beitrag No. 10 schreibt:
2020-03-18 18:41 - Kitaktus in Beitrag No. 8 schreibt:
Nehmen wir die Ausgangslösung und kürzen einen Faktor 4 heraus:

Warum ausgerechnet der Faktor 4? Weil es bei den Effizienzfaktoren der größte Nenner ist, oder hängt das von den jeweiligen Werten ab?
Ja, genau. Die Effizienzfaktoren sind alle Vielfache von 1/4. Damit kann man Brüche mit Nenner 4 (oder 2) durch unterschiedliche Effizienzfaktoren abdecken, andere nicht.

2020-03-18 18:41 - Kitaktus in Beitrag No. 8 schreibt:
Fazit: Zähler, die keine Zweierpotenzen sind lassen sich vermutlich nur durch Erweitern entfernen. Zweierpotenzen muss man bis auf den Zähler 4 ebenfalls "wegerweitern".

Den Satz verstehe ich nicht - müsste da nicht "Nenner" anstatt "Zähler" stehen?
Ja, absolut.


2020-03-18 18:41 - Kitaktus in Beitrag No. 8 schreibt:
Mit der Methode kommst Du aber nicht mehr als einen Faktor <8 nach unten.
Dazu müsstest Du wahrscheinlich die Vorderung aufgeben, dass gar kein Rest übrig bleibt.

Woher kommt der Faktor 8 denn? Die Forderung, dass kein Rest übrig bleibt ist ja gerade der Sinn der ganzen Übung :) Aber mit deiner Methode ist schon eine ordentliche Reduktion drin!
Bisher musste man alles auf ganze Zahlen erweitern. Mit diesem Ansatz darf der Nenner 4 stehen bleiben. Wir dürfen also alle Zahlen durch 4 teilen.
Außerdem dürfen wir Fabriken mit einem Effizientfaktor von bis zu 2 einsetzen. Dadurch können wir bis zur Hälfte der Fabriken einsparen, aber nicht mehr. Der Faktor 8 kann nicht erreicht werden, dazu müssten in der ursprünglichen Lösungen alle Anzahlen durch 8 teilbar sein. Dann wäre diese Lösung aber nicht minimal. Man kommt dem Faktor 8 aber beliebig nahe. Ein Beispiel:
Bisher 1*Typ A, 8n*Typ B => 8n+1 Fabriken
Jetzt 1*Typ A-Effizienz_25%, n*Typ B-Effizienz 200%,  => n+1 Fabriken
Faktor: (8n+1)/(n+1) = 8-7/(n+1) -- kommt mit wachsendem n der 8 beliebig nahe.



Jetzt bleiben nur noch zwei Fragen:

1. Wie automatisiere ich das ganze jetzt? (Darüber werde ich als nächstes nachdenken)
Vorschlag: Erweitere alle Anteile auf ganze Zahlen, teile dann alle Fabrikanzahlen durch 4 und decke danach alles (unter Einsatz möglichst vieler 200%-Fabriken) ab.


2. Vllt. eine komische Frage, aber das interessiert mich, um mich selbst zu verbessern: Wie war denn dein Gedankengang, um auf diese Lösung (mit den drei Teilschritten: Faktoren, Fabriken, Aufteilen der Effizienzen) zu kommen?
Beitrag #8 zeigt ein wenig den Denkprozess, weil ich die erste Überlegung stehen gelassen habe, obwohl sich am Ende gezeigt hat, dass das ein Umweg ist.

Nachdem ich Dein Problem verstanden habe, war mir klar, dass die hohe Zahl an Fabriken dadurch zustande kommt, dass sich bei den Verhältnissen Brüche mit unterschiedlichen Nennern ergeben. Um die ganzzahlig zu machen, muss man erweitern und das schraubt die Zahl der Fabriken nach oben.
Die Idee war also, Nenner "verschwinden" zu lassen, in dem man Fabriken mit unterschiedlichen Effizienzen einsetzt. Leider zeigte sich bald, dass man damit nur die Faktoren 2 und 4 wegzaubern kann.
Das führte dann zur 31er Lösung. Da springt einem dann schon ins Auge, dass man für eine Leistung von 3 nicht drei Fabriken braucht, sondern zwei 150%er ausreichen. Das führt zur 25er Lösung.

An der Stelle hätte Schluss sein können, aber ein paar Synapsen meldeten sich im Gehirn und kamen nochmal auf das zurück, was Du im Beitrag #5 geschrieben hattest. Da war ja die Lösung, dass alle Zwischenproduzenten auf Maximalleistung laufen sollten und da hat es dann irgendwann klick gemacht und ich habe erkannt, dass man für eine Leistung 9 nicht unbedingt sechs 150%er benutzen muss, sondern eigentlich auch mit fünf Fabriken auskommt (4*200%+1*100%). Wenn man erstmal so weit ist, dann sieht man, dass für diesen Ansatz die benötigte Leistung nicht ganzzahlig sein muss, sondern dass man alle Vielfachen von 1/4 damit gut abdecken kann (ok, bei Exoten wie 7/4 braucht man zwei Fabriken, statt einer).
Mit dieser Erkenntnis habe ich die erste Idee nochmal bewertet und gesehen, dass der Ansatz "Nenner 2 und 4" wegkürzen einen Umweg darstellt und man die Lösung vereinfachen kann, indem man erst alles ganzzahlig macht und dann durch 4 teilt. Das funktioniert sogar dann, wenn in der ursprünglichen Lösung gar kein Nenner 2 oder 4 enthalten war. Beispiel: aus der Lösung (1, 1/3, 1/11) kann ich keinen Nenner 2 oder 4 wegmogeln. Ich muss zu (33, 11, 3) erweitern, kann dann aber trotzdem einen Faktor 4 herausziehen zu (33/4, 11/4, 3/4) und komme mit 8 (=5+2+1) statt 47 (=33+11+3) Fabriken aus.



  Profil  Quote  Link auf diesen Beitrag Link
shin
Junior Letzter Besuch: im letzten Quartal
Dabei seit: 25.05.2019
Mitteilungen: 13
Zum letzten BeitragZum nächsten BeitragZum vorigen BeitragZum erstem Beitrag  Beitrag No.12, vom Themenstarter, eingetragen 2020-03-20


Vielen Dank für deine ausführliche Hilfe! Ich glaube damit komme ich nun klar :)



  Profil  Quote  Link auf diesen Beitrag Link
shin hat die Antworten auf ihre/seine Frage gesehen.
shin hat selbst das Ok-Häkchen gesetzt.
Neues Thema [Neues Thema]  Druckversion [Druckversion]

 


Wechsel in ein anderes Forum:
 Suchen    
 
All logos and trademarks in this site are property of their respective owner. The comments are property of their posters, all the rest © 2001-2020 by Matroids Matheplanet
This web site was originally made with PHP-Nuke, a former web portal system written in PHP that seems no longer to be maintained nor supported. PHP-Nuke is Free Software released under the GNU/GPL license.
Ich distanziere mich von rechtswidrigen oder anstößigen Inhalten, die sich trotz aufmerksamer Prüfung hinter hier verwendeten Links verbergen mögen.
Lesen Sie die Nutzungsbedingungen, die Distanzierung, die Datenschutzerklärung und das Impressum.
[Seitenanfang]