Saturday 3 June 2017

Bin Verpackung Algorithmus Software Für Forex


Was ist packit 4 me packit 4 me ist ein super einfacher, super super Service. Es bietet eine API für 2D3D bin Verpackung. Bin Verpackung kann für Verpackungsboxen für Versandabteilungen verwendet werden, oder es kann als eine Form der begrifflichen Zuteilung Raum verwendet werden. Dies kann für Drucklayouts oder andere Arten von Materialzuweisungen sein. RESTful API-Aufrufe zu packit 4 me sind super einfach. Ein Service-Aufruf und Sie haben komplette Verpackung JSON lassen Sie wissen, welche Gegenstände wurden zugewiesen, was bin und mehr packit 4 mich Ihnen mit HTML-und Javascript erforderlich, um Plug in Ihre Seite, die zeigt, wie die Fächer in WebGL und die gerendert gerendert werden Ruhm ist, dass 3D Für jetzt ist packit 4 mir absolut FREEIve erhielt eine Aufgabe, um eine Schifffahrt Schätzungen, die die beste Unterkunft von Waren auf so wenige Felder wie möglich schlägt: Es gibt eine endliche Reihe von bekannten retangular Box Größen Es gibt viele willkürliche retangular Artikel in Boxen verpackt werden Die weniger Boxen sollten am besten verwendet werden. Weil Verschiffen zwei Kästen 1x1x1 ist viel teurer als ein Kasten 1x2x1. Dies sollte die Priorität hier sein. Es sollte auch optimiert werden, um die kleineren Boxen, wie möglich, als zweite Ebene Priorität zu verwenden. (ZB bei einer Auswahl zwischen einer größeren Box und zwei kleinen, sollte es die größere Box wählen) Elemente können gedreht werden, um die Box passen, aber die Rotation müssen in Schritten von 45 auf ein Minimum beschränkt werden (in meiner Forschung Es scheint, dass einige Konfigurationen für eine Drehung von 45 Grad erlauben, um passendere runderneuerte Kästen in einem größeren retangulären Kasten zu passen), wobei 90 Umdrehungen der zu nehmende Standard ist. Boxen haben eine Gewichtsgrenze und Elemente haben beliebige Gewichte (zB ein Element, das Größe ist 1x1x1 kann havier als andere 2x2x2 Element) Ive recherchierte ein wenig und fand einige abstrahierte Algorithmen auf bin Verpackung und das Rucksack-Problem und kam mit dem folgenden etwas Bruteforce-Variation, ähnlich dem besten Fit-Algorithmus: Sortieren Sie die Elemente in dezimensionalen Volume-Reihenfolge (größer zuerst) auf eine Items-to-Pack-Liste Für jedes Element in dieser Liste: Wählen Sie das kleinere Feld, das auf der Liste der verwendeten Kästchen ist und hat genug verbleibende Menge Und Gewichtsbegrenzung, zum des Einzelteils zu passen (ich werde hier passend verwenden, um die Anpassung der Abmessungen und des Gewichts zu bezeichnen) Wenn es nicht so ein Kästchen gibt, erstellen Sie eine neue Schachtel aus dem Know Set der möglichen Boxgrößen, die die kleinste Größe ist, die die Einzelteile passen kann Abmessungen und Gewicht und fügen Sie sie zu der Liste der gebrauchten Koffer hinzu. Wenn ein Feld auf das Element passt (unter Verwendung der Fitting-Funktion unten), fügen Sie es in die Liste dieser Boxen Elemente und entfernen Sie es aus der Elemente zu passen Liste, markiert seine relative 3D-Position innerhalb des Feldes. Wiederholen Sie den Vorgang ab 2.1, bis kein Artikel auf der Packungsliste vorhanden ist. Die passende Kontrollfunktion, die bei Schritt 2 verwendet wird: Prüfen Sie, ob das verbleibende Volumen der Box dem Volumen des Artikels entspricht. Wenn nicht, geben Sie false zurück. Überprüfen Sie, ob die Summe der Kastengewichtsteile plus das aktuelle Gewicht des Gegenstands kleiner oder gleich der Kastengewichtbegrenzung ist. Wenn nicht, geben Sie false zurück. Aktivieren Sie die Boxenpositionsliste, um die erste Feldkoordinate auszuwählen, die die kleinste Y-Komponente aufweist und die genügend Platz für die Elemente Breite, Tiefe und Höhe hat, unter Berücksichtigung der anderen Elemente, die als nicht verfügbarer Platz platziert werden. Wenn das Element nicht in die aktuelle Ausrichtung passt, drehen Sie es auf eine der 6 möglichen Drehungen, ohne dabei 45 Umdrehungen aus Gründen der Einfachheit vorauszusetzen. (Rotationen, die zu Größen führen, bei denen bereits getestet wurde, können übersprungen werden, z. B. bei Drehung eines Kästchens 180 die gleichen Dimensionen wie die ursprüngliche Position, da alle Kästchen und Gegenstände die gleiche Größe für entgegengesetzte Flächen haben und somit übersprungen werden können.) Wenn das Element Wurde nicht auf allen möglichen Weisen zurück zu seiner ursprünglichen Ausrichtung gedreht, versucht wieder von Schritt 3. Wenn alle Umdrehungen, in denen versucht und kein Sitz gefunden wurde, betrachten die gegenwärtige Koordinate als nicht verfügbarer Raum. Wenn nicht vorhandener Speicherplatz vorhanden ist, geben Sie false zurück. Andernfalls versuchen Sie es erneut mit Schritt 3. Ich möchte wissen, ob es eine beste Lösung für mein Problem geben kann, angesichts der dargestellten Einschränkungen. Dieses scheint, auf Theorie zu arbeiten, aber Ive versucht es auf Code nicht. Ich möchte wissen, ob ich gehe in die richtige Richtung oder es gibt bessere, performante Möglichkeiten, dies zu tun. Referenzen wäre toll. Ive gefunden einige interessante Drittanbieter-API, die tun, was ich will, aber dies muss getrennt werden, so dass ich keinen Zugang zu diesen haben. Einige Beispiele sind: Ein reales Beispiel für ein Problem zu lösen wäre: Ich habe 4 Kastengrößen WxHxD: 10x12x18, 12x16x24, 16x20x30, 24x32x40 Ich habe einen Auftrag von 4 Einzelteilen, seiend 1 von Größe 6x8x10, 2x 22x14x30 und 1x 22x4x20 Wie tun Ich passe diese Elemente in jede Menge von Boxen von einer oder mehreren Größen mit den weniger Boxen wie möglich, mit den kleinsten Boxen möglich und verlassen weniger Freiraum wie möglich gefragt, Oct 3 14 am 13:39 Gute Frage. Die eigentliche Verpackung wird von Menschen durchgeführt werden, aber die Software schlägt die Verpackung Reihenfolge und Position der einzelnen Box. Es erfordert keine Erfahrung in der Verpackung, um das vorgesehene Layout zu betrachten und legen Sie die Ware in den Karton. Zuerst wird eine gewisse Zeit daran gewöhnt sein, sich daran zu gewöhnen, aber es wird nicht notwendig sein, über die beste Disposition nachzudenken. Ndash rcdmk Okt 8 14 um 12:37

No comments:

Post a Comment