podsuńcie pare pomysłów na ten projekt :)

0

czesc; jest sobie projekt "paletyzacja".
problem polega na tym że należy uformować palete a na niej towary, tych palet też musi być określona ilość.
wywylanie procedury robiacej te palety wygladac ma tak::

Paletyzuj (Algorytm , Parametry_tworzonego_nośnika, Lista_opakowań, Lista_utworzonych_nośników)
gdzie:
-algorytm: dokładny (rozpatrującego różne kombinacje ułożenia opakowań) albo przybliżony ((układającego opakowania warstwami);
-Parametry_tworzonego nośnika: dlugosc, szerokosc, wysokosc maxymalna, masa max.
-lista_opakowan::dlugosc, wysokosc, szerokosc, czy wlno opakowania ukladac dowolnie, masa opkaowania, dopuszczalne obciazenie nosnika (czy mozna klasc pudelka jedne na drugich)
-lista_utworzonych_nosnikow::id nośnika, wysokosc rzeczywista, masa rzeczywista;;

nie chodzi io to aby to implementowac tylko zeby napisac algorytm na to; nie prosze zeby ktos mi go napisal!

chcialbym abyscie mi podsuneli wasze sugestie do tego jakby sie za to zabrac :)

0

Znaczy chyba chodzi o problem pakowania, badz plecakowy. Luknij tutaj, jest tam lista powiazanych problemow (miedzy innymi bin packing, stock cutting i knapsack wlasnie). Wystarczy tylko dopasowac Twoje zadanie to problemow tam podanych i pare algorytmow masz ;)

Co do samych algorytmow to jesli chodzi o dokladny to calkiem sensownie spisuje sie brute-force z nawrotami (backtrace). Nawroty pozwalaja troche zaoszczedzic z czystego brute-force'a, choc mimo wszystko dalej nie jest to szybki algorytm. Ale podaje dokladne rozwiazanie. Co do algorytmow aproksymacyjnych to juz poczytaj na wiki, bo to srednio moja dzialka.

0

no ciekawe dosyc to bede musial cos poszukac na ten temat...
a Twoim zdaniem jako eksperta to jak sadzisz jak duzy bedzie taki algorytm?

0

Ekspertem od tego nie jestem, natomiast moj kumpel pisal prace ze stock cutting (generalnie podobny problem) czyli ciecia materialu na czesci tak, by bylo malo odpadow. Backtrace w tym przypadku nie jest skomplikowany, bo sprowadza sie w zasadzie do przegladania drzewa mozliwosci do miejsca, kiedy zapelnisz cala przestrzen (bo dalej nie ma sensu). Prostsze algorytmy aproksymacyjne to np. First fit, czyli sortujesz dane wedlug wag rosnaco badz malejaco i wrzucasz po kolei. Z innych to np. best fit czyli starasz sie na pozostale miejsce wybrac najbardziej wypelniajacy przestrzen element. Minus tego drugiego to kwestia pamietania pozostalych 'dziur'.
Mozna tez zalatwic problem algorytmem genetycznym, ktory sam w sobie tez nie jest skomplikowany. Tutaj problem jednak polega na okresleniu funkcji celu.

U ciebie nie jest trudno, bo masz palety, a wiec nie jest to typowy problem 3d tylko troche bardziej rozbudowany 2D, bo na palecie ukladasz w dwoch wymiarach.

Najwiekszym problemem jest to, ze to problem NP-zupelny czyli algorytm dokladny jest wolny lub masakrycznie wolny dla wiecej niz 20 elementow (przy tylu program kumpla wyrabial sie jeszcze w minute chyba). Algorytmy aproksymacyjne z kolei moga nie dac optymalnego rozwiazania, ale sa zdecydowanie szybsze. Z ciekawszych polecalbym wlasnie algorytm genetyczny, ale jak to tylko maly projekt na zaliczenie to chyba nie ma co.

0

napisałeś że ja mam bardziej problem 2D niż 3D, ale przecież na tych paletach układam produkty w jakiś pudłach czyli sześcianach->czyli problem jak najbardziej 3D przeciez

0

No nie wiem co rozumiesz przez palety. Dla mnie paleta to wycinek plaszczyzny w ksztalcie prostokata (badz kwadratu). Palet masz okreslona ilosc. Teraz na palecie ukladasz elementy tak, by stykaly sie z paleta. Po drugie nie ulozysz palety na palecie, bo nie zawsze sie bedzie miala na czym wspierac. Stad zakladam, ze ukladasz na palecie tak jakbys ukladal w 2D. Chyba, ze zle zrozumialem problem.

0

no wycinek plaszczyzny na ktory ukladasz klocki (czyli produkty)

0

No tak, ale jesli pudla sa roznych rozmiarow to zwykle nie uklada sie jednego na drugim, tak jak np. pudelka z plytkami. Chyba, ze takiego zalozenia nie ma - bo przeciez to raczej teoretyczne zagadnienie. Ja mysle o tym raczej w kategoriach zyciowych. Zreszta w linkach, ktore podalem problem dotyczacy 3D tez jest opisany, wystarczy sie zaglebic w temat ;)

1 użytkowników online, w tym zalogowanych: 0, gości: 1