AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Algorithmen, Datenstrukturen und Klassendesign Algorithmus: Optimale Kombination von verschiedenen Längen
Thema durchsuchen
Ansicht
Themen-Optionen

Algorithmus: Optimale Kombination von verschiedenen Längen

Ein Thema von Jonelmeier · begonnen am 24. Mär 2012 · letzter Beitrag vom 26. Mär 2012
Antwort Antwort
Jonelmeier

Registriert seit: 27. Sep 2007
Ort: Hamburg
96 Beiträge
 
Delphi XE Starter
 
#1

Algorithmus: Optimale Kombination von verschiedenen Längen

  Alt 24. Mär 2012, 22:00
Hi,

ich habe eine Frage an alle Algorithmus-Freaks unter euch:

Situation: Ich habe eine Menge verschiedener Längen (von 16cm bis 68cm, Werte können mehrfach auftreten).

Problem: Ich möchte die einzelnen Längen so kombinieren, das ich möglichst viele 100cm Längen bekomme (± 2cm). Es dürfen 2 bis 4 Elemente aus der Grundmenge verwendet werden.

Hintergrund: Es geht um Granitblöcke, aus denen jeweils möglichst genau 100cm lange Treppenstufen zusammengesetzt werden sollen, ohne die Blöcke zu zerschneiden. Auf dem Papier, durch knobeln und ausprobieren existiert bereits eine Lösung, jedoch würde es mich reizen dieses Problem algorithmisch (allgemeiner) zu lösen, u.A. um z.B. die Länge der Stufen oder die Anzahl der zulässigen Blöcke variieren zu können, ohne neu knobeln zu müssen.

Vielleicht kann mir ja jemand einen kleinen Denkanstoß liefern.

Gruß Jonas
  Mit Zitat antworten Zitat
fox67

Registriert seit: 6. Okt 2010
Ort: 72661 Grafenberg
181 Beiträge
 
Turbo Delphi für Win32
 
#2

AW: Algorithmus: Optimale Kombination von verschiedenen Längen

  Alt 24. Mär 2012, 22:23
Ich würde so beginnen das du dir eine Klasse machst die zwei Variablen enthält Id und Länge. Und dann eine Procedure die mit dem Block mit der Id 1 anfängt und die Länge jedes Blockes einzeln zuder Länge des einen Blockes dazu addiert ergibt es dann bei zwei Blöcken die Länge 100 werden beide Ids in einer Liste gespeichert. Dann wird das selbe gemacht mit block 2 und so weiter zum Schluss wird dann das ergebnis aus der Liste ausgelesen.
Gruß Arni
  Mit Zitat antworten Zitat
bernerbaer
(Gast)

n/a Beiträge
 
#3

AW: Algorithmus: Optimale Kombination von verschiedenen Längen

  Alt 24. Mär 2012, 22:30
Algo bei Wikipedia Eindimensionales_Zuschnittproblem oder wikipedia Verschnittplanung
  Mit Zitat antworten Zitat
fox67

Registriert seit: 6. Okt 2010
Ort: 72661 Grafenberg
181 Beiträge
 
Turbo Delphi für Win32
 
#4

AW: Algorithmus: Optimale Kombination von verschiedenen Längen

  Alt 24. Mär 2012, 22:34
Meine Methode klappt aber nur wenn du die Zahl vorgibst wie viele Blöcke zusammengewürfelt werden können. Deshalb ist sie für dich wahrscheinlich eher unpraktisch
  Mit Zitat antworten Zitat
Jonelmeier

Registriert seit: 27. Sep 2007
Ort: Hamburg
96 Beiträge
 
Delphi XE Starter
 
#5

AW: Algorithmus: Optimale Kombination von verschiedenen Längen

  Alt 24. Mär 2012, 22:43
Der Artikel über das Eindimensionale Zuschnittproblem klingt interessant, leider ist mir die theoretische Definition zu hoch, ich bräuchte eine Pseudo-Implementierung des Algorithmus.

Ich bin noch auf das Behälterproblem gestoßen, welches aber in diesem Fall keine optimalen Ergebnisse liefert:
Code:
Sortiere die Objekte nach absteigendem Länge
Füge die Objekte der Reihe nach ein,
    sodass jedes in den ersten Behälter gegeben wird, in dem noch genug Platz ist.
    Falls in keinem der bereits geöffneten Behälter genügend Platz ist, öffne einen neuen.
Auch die Variante Best Fit Decreasing des Behälterproblems verhält sich ähnlich.
  Mit Zitat antworten Zitat
bernerbaer
(Gast)

n/a Beiträge
 
#6

AW: Algorithmus: Optimale Kombination von verschiedenen Längen

  Alt 24. Mär 2012, 23:15
ich habs nicht näher angeschaut aber vielleicht ist ja das etwas:
delphiforfun
  Mit Zitat antworten Zitat
Benutzerbild von Aphton
Aphton

Registriert seit: 31. Mai 2009
1.198 Beiträge
 
Turbo Delphi für Win32
 
#7

AW: Algorithmus: Optimale Kombination von verschiedenen Längen

  Alt 24. Mär 2012, 23:27
edit: ..
das Erkennen beginnt, wenn der Erkennende vom zu Erkennenden Abstand nimmt
MfG

Geändert von Aphton (25. Mär 2012 um 15:41 Uhr)
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 00:27 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz