Kombination aus zwei Werten minimieren, aber jeden Einzelwert nur einmal nutzen
#1
Hallo,

ich habe ein Problem:

im Labor wiege ich einzelne Tiegel und einzelne Deckel aus, jeweils n Stück. 
Die Kombination aus einem Tiegel und einem Deckel ergibt das Gesamtgewicht. 

Ich möchte nun 5 möglichst gleich schwere Kombinationen aus einem Tiegel und einem Deckel erstellen.
Dabei kann ich natürlich jeden Tiegel und jeden Deckel nur einmal nutzen. 

Hat jemand 'ne Idee, wie ich das in Excel lösen kann?

Vielen Dank schonmal für euren Input!

Beispiel:

Masse Tiegel     Masse Deckel        
1,565               1,859
1,815               1,471
1,816               1,979
1,176               1,629
1,613               1,915
1,600               1,051
1,785               1,685
1,973               1,667
1,909               1,984
1,577               1,407
Antworten Top
#2
Hallo B...,

in Excel löst man diese Aufgabenstellungen mit dem Solver.
Da das Problem nicht kontinuierlich ist muss man den Algorithmus "EA" wählen.


Bemerkung: Zur Datengrösse

Beim Solver mit dem Algorithmus EA ist nicht immer gewährleistet, dass das beste Ergebnis ausgewiesen wird, aber bei kleinen Datenbeständen wie in deinem Beispiel erwarte ich es.
Wenn du auch bei weit mehr Tiegel und Deckel das bestmögliche Ergebnis haben möchtest, könnte man ein Programm schreiben, dass geschickt alle Kombinationen testet.
Ich denke, dass man in Excel Makros beste Ergebnisse auch für eine Auswahl aus 100 Tiegel und Deckel in vertretbarer Zeit ermitteln kann.
helmut

Für mich ist die Möglichkeit in Excel an Zellen und Bereichen Namen zu vergeben die wichtigste Funktionalität.
Sie macht Formeln und den VBA-code verständlicher. Für Makros gilt die Regel: "Nur über benannte Bereiche auf den Inhalt der Zellen zugreifen."
Und wofür sind Regeln da? Um nachzudenken bevor man sie bricht.





Antworten Top
#3
Hallo Helmut,

erstmal danke für den Tipp. Da ich vom Solver erstmal so überhaupt keine Ahnung habe, muß ich mich da mal mit beschäftigen. 
Hoffentlich komme ich da weiter. 
Ich bin leider nur ganz rudimentärer Excel-Nutzer und komme ich normalen Leben kaum über die Verknüpfung von Zellen mit Grundrechenarten raus. 

Kann also sein, daß ich  nochmal um Hilfe rufen muß...

Bembelsche
Antworten Top
#4
Hallo Bembelsche,

in der Anlage eine Dateii, in der ich deine Fragestellung als Solverproblem aufbereitet habe.

Ich bin nicht mehr der Meinung, dass der Solver hiermit in diesem kleinen System immer die optimale Lösung findet, aber eine sehr gute Lösung findet er immer.

ps
Ich habe die nächsten Tage keinen Zugriff auf einen Rechner. Wenn noch Fragen sind, kann das ja eventuell ein anderer Teilnehmer beantworten oder ich melde mich am Freitag wieder.


Angehängte Dateien
.xlsx   Tiegel.xlsx (Größe: 11,34 KB / Downloads: 4)
helmut

Für mich ist die Möglichkeit in Excel an Zellen und Bereichen Namen zu vergeben die wichtigste Funktionalität.
Sie macht Formeln und den VBA-code verständlicher. Für Makros gilt die Regel: "Nur über benannte Bereiche auf den Inhalt der Zellen zugreifen."
Und wofür sind Regeln da? Um nachzudenken bevor man sie bricht.





Antworten Top
#5
Hi,

ich glaube, da würde das reichen:

Code:
=KKLEINSTE($A$2:$A$11;ZEILE(1:10))+KGRÖSSTE($B$2:$B$11;ZEILE(1:10))
Gruß

Edgar

Meine Antworten sind freiwillig und ohne Gewähr!
Über Rückmeldungen würde ich mich freuen.
Antworten Top
#6
Hallo Bembelsche,

1. Solver
Wie schon geschrieben glaube ich nicht mehr, dass eine Solverlösung auch für dein kleines Beispiel immer die beste Lösung findet. Manchmal verfängt sich der Algorithmus in einem lokalen Minimum.
Daher habe ich in der Anlage deine Fragestellung noch einmal mit mit zwei Makros gelöst.

2. "Tuwatt"
In diesem Arbeitsblatt kann man über den Button das Makro aufrufen, dass alle Kombinationen durchspielt. Es dauert für dein Beispiel auf meinem Rechner ca 5 Sekunden.  Aber schon bei 12 Tiegel und 12 Deckel benötigt das Makro ca eine Minute.
Da ich in der Schnelle keine Idee habe wie ich einige Kombinations-Zweige vorzeitig abbrechen kann, habe ich ein zweites Makro unter "Tusanders"geschrieben, dass aber nicht mehr die Quadratsumme der Abweichungen zum Mittelwert minimiert, sondern nur noch die Differenz des schwertsen und leichtesten Paares.

3. "Tusanders"
In diesem Programm können viele Zweige vorzeitig abgebrochen werden, so dass die Ausführzeit wesentlich kürzer ist.


Angehängte Dateien
.xlsm   Tiegel.xlsm (Größe: 39,62 KB / Downloads: 2)
helmut

Für mich ist die Möglichkeit in Excel an Zellen und Bereichen Namen zu vergeben die wichtigste Funktionalität.
Sie macht Formeln und den VBA-code verständlicher. Für Makros gilt die Regel: "Nur über benannte Bereiche auf den Inhalt der Zellen zugreifen."
Und wofür sind Regeln da? Um nachzudenken bevor man sie bricht.





Antworten Top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste