Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Optimierungsprobleme in Excel bzw. VBA

Forumthread: Optimierungsprobleme in Excel bzw. VBA

Optimierungsprobleme in Excel bzw. VBA
22.04.2013 19:25:12
Jana
Hi :)
ich wollte mal in die Runde fragen, ob jemand von euch bereits Optimierungsprobleme mit VBA bearbeitet hat.
Bei Wikipedia hab ich z.B. die ungarische Methode gefunden, die ich zur Lösung meines Problems nutzen kann. Bevor ich nun beginne mich in VBA einzuarbeiten, wollte ich fragen, ob jemand von euch aus Erfahrung berichten kann, ob für diese Arten von Algorithmen VBA überhaupt eingesetzt werden kann. Im Internet hab ich diesbezüglich nicht viel gefunden :(
Der Solver von Excel wird da wohl nicht dolle weiterhelfen können, was?!
Hat jemand von euch Ahnung, ob das geht mit VBA?
Bei Wiki steht der Ablauf des Algo informell.
http://de.wikipedia.org/wiki/Ungarische_Methode#Typische_Zuordnungsprobleme_in_Computeralgorithmen
Ich bedanke mich für eure Hinweise!
LG Jana

Anzeige

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Optimierungsprobleme in Excel bzw. VBA
22.04.2013 23:05:34
Sheldon
Hi Jana,
ich habe dass selbst zwar noch nicht gemacht, aber grundsätzlich würde ich sagen: Ja, das geht mit VBA.
VBA ist, vielleicht noch mehr als andere Pgmiersprachen, hervorragend geeignet um Algorithmen umzusetzen.
Der Solver in Excel hat aber nichts mit der Zuordnungsproblematik zu tun! Das ist ein anderes Thema. Helfen wird er m.E. jedenfalls nicht.
Gruß
Sheldon

Anzeige
AW: Optimierungsprobleme in Excel bzw. VBA
23.04.2013 08:47:44
bst
Morgen,
Du könntest es mal hiermit versuchen:
http://www.office-loesung.de/ftopic258149_45_0_asc.php
Nimm TestMunkres sowie die V1.1 vom Munkres Assignment Algorithm
Dabei werden die Zellen um A1 herum (also alles was Du mit STRG + * selektierst) als Matrix eingelesen und die Summe minimiert.
Die gefundene Lösung wird grün gefärbt.
HTH, Bernd

Anzeige
AW: Optimierungsprobleme in Excel bzw. VBA
24.04.2013 21:26:07
Jana
Ich bedanke mich bei euch allen!
Ich werde wohl einen neuen Thread öffnen, in dem ich mein konkretes Problem erläutere.
Anzeige
;
Anzeige

Infobox / Tutorial

Optimierungsprobleme in Excel und VBA lösen


Schritt-für-Schritt-Anleitung

  1. Verstehen des Optimierungsproblems: Bevor du mit der Lösung beginnst, ist es wichtig, das spezifische Optimierungsproblem zu identifizieren, das du angehen möchtest. Beispiele für solche Probleme sind das Minimieren von Kosten oder das Maximieren von Gewinnen.

  2. Wahl des Algorithmus: Entscheide dich für den geeigneten Optimierungsalgorithmus. Die ungarische Methode ist eine gängige Wahl für Zuordnungsprobleme, während andere Algorithmen für unterschiedliche Szenarien besser geeignet sind.

  3. Implementierung in VBA:

    • Öffne Excel und drücke ALT + F11, um den VBA-Editor zu starten.
    • Füge ein neues Modul hinzu: Rechtsklick auf „VBAProject“ > Einfügen > Modul.
    • Implementiere den gewünschten Algorithmus. Hier ist ein einfaches Beispiel für die ungarische Methode:
    Sub UngarischeMethode()
       ' Beispielcode für die ungarische Methode
       ' Hier implementierst du den Algorithmus
    End Sub
  4. Daten einfügen: Lege die Daten in deinem Excel-Blatt bereit. Diese Daten sollten in einer Matrixform vorliegen, die für deinen Optimierungsalgorithmus geeignet ist.

  5. Ausführen des Codes: Führe den VBA-Code aus, um die Lösung zu berechnen. Überprüfe die Ergebnisse und stelle sicher, dass sie deinen Erwartungen entsprechen.


Häufige Fehler und Lösungen

  • Fehler: VBA-Code läuft nicht:

    • Lösung: Überprüfe, ob der Code korrekt eingegeben wurde und keine Syntaxfehler vorliegen.
  • Fehler: Falsche Ergebnisse:

    • Lösung: Stelle sicher, dass die Eingabedaten korrekt formatiert sind und der Algorithmus richtig implementiert wurde.
  • Fehler: Solver gibt keine Lösung:

    • Lösung: Beachte, dass der Solver in Excel für Zuordnungsprobleme nicht geeignet ist. Nutze stattdessen die ungarische Methode oder andere spezifische Algorithmen.

Alternative Methoden

  • Solver-Add-In: Für einige einfache Optimierungsprobleme kann das Solver-Add-In von Excel genutzt werden. Es ist jedoch nicht für die ungarische Methode oder ähnliche Algorithmen geeignet.

  • Python mit Pandas: Wenn du mehr Flexibilität benötigst, kannst du Python verwenden. Die Bibliothek Pandas eignet sich hervorragend zur Datenmanipulation und zur Lösung von Optimierungsproblemen.

  • Excel-Funktionen: Nutze Funktionen wie MIN oder MAX, um einfache Optimierungsprobleme direkt in Excel zu lösen.


Praktische Beispiele

  • Ungarische Methode Beispiel: Angenommen, du hast eine Kostenmatrix für die Zuweisung von Aufgaben an Mitarbeiter. Implementiere die ungarische Methode in VBA, um die minimalen Gesamtkosten zu berechnen.

  • SAP-Dokumente bündeln/zusammenfassen: Du kannst ein Excel-Dokument erstellen, das SAP-Daten importiert und diese zusammenfasst, um eine bessere Übersicht über die Optimierungsprobleme zu erhalten.


Tipps für Profis

  • Verstehe die Theorie hinter dem Algorithmus: Um effektive Lösungen zu entwickeln, ist es hilfreich, die mathematische Grundlage des verwendeten Optimierungsalgorithmus zu verstehen, wie z.B. die ungarische Methode.

  • Fehlerbehandlung einbauen: Implementiere in deinem VBA-Code Fehlerbehandlung, um unerwartete Probleme während der Ausführung zu vermeiden.

  • Dokumentation: Halte deine Schritte und den Code gut dokumentiert, um später darauf zurückgreifen zu können und um anderen Benutzern zu helfen.


FAQ: Häufige Fragen

1. Kann ich die ungarische Methode in Excel verwenden?
Ja, du kannst die ungarische Methode in Excel implementieren, indem du VBA nutzt.

2. Was ist der Vorteil der Verwendung von VBA für Optimierungsprobleme?
VBA ermöglicht dir die Automatisierung von Prozessen und die Implementierung komplexer Algorithmen zur Lösung von Optimierungsproblemen.

3. Gibt es eine einfachere Methode als VBA?
Für einfache Probleme kann das Solver-Add-In von Excel ausreichend sein, aber für komplexere Probleme sind spezialisierte Algorithmen oft effektiver.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige