eGospodarka.pl
eGospodarka.pl poleca

eGospodarka.plGrupypl.comp.programmingalgorytm - poprzenosic pilki miedzy koszami tak zeby bylo po rownoRe: algorytm - poprzenosic pilki miedzy koszami tak zeby bylo po rowno
  • Path: news-archive.icm.edu.pl!news.gazeta.pl!newsfeed.pionier.net.pl!news.glorb.com!n
    ews2.glorb.com!news-in-01.newsfeed.easynews.com!easynews!core-easynews-01!easyn
    ews.com!en-nntp-09.dc1.easynews.com.POSTED!not-for-mail
    From: A.L. <l...@a...com>
    Newsgroups: pl.comp.programming
    Subject: Re: algorytm - poprzenosic pilki miedzy koszami tak zeby bylo po rowno
    Message-ID: <m...@4...com>
    References: <iepset$sht$1@inews.gazeta.pl>
    X-Newsreader: Forte Agent 4.2/32.1118
    MIME-Version: 1.0
    Content-Type: text/plain; charset=ISO-8859-2
    Content-Transfer-Encoding: 8bit
    Lines: 46
    X-Complaints-To: a...@e...com
    Organization: Forte Inc. http://www.forteinc.com/apn/
    X-Complaints-Info: Please be sure to forward a copy of ALL headers otherwise we will
    be unable to process your complaint properly.
    Date: Tue, 21 Dec 2010 09:26:30 -0600
    Xref: news-archive.icm.edu.pl pl.comp.programming:187794
    [ ukryj nagłówki ]

    On Tue, 21 Dec 2010 10:36:27 +0100, "bagno" <b...@o...pl> wrote:

    >Witam
    >
    >Temat może jest głupi ale nie wiedziałem jak to napisać.
    >
    >Mam jakieś pojemniki a w nich losowe ilości "cosiów". Muszę je tak poprzenosić
    >aby uzyskać równe ilości najmniejszym kosztem. Koszt przeniesienia każdego elementu
    >między dwoma dowolnymi pojemnikami jest z góry określony.
    >
    >Jaki w miarę prosty algorytm zastosować ? Jest w ogóle jakiś w miarę prosty ?
    >
    >Pojemników jest 500 a cosiów jakieś 5000. W większości pojemników jest już na
    starcie
    >prawidłowa ilość elementów więc można ich nie ruszać chyba, że koszt przeniesiania
    do
    >takiego pojemnika a potem z niego dalej będzie mniejszy niż koszt bezpośredniego
    przeniesienia
    >między dwoma pojemnikami.
    >
    >Fajnie by było dodatkowo założyć, że lepiej przenieść do jednego pojemnika więcej
    >elementów z tego samego pojemnika niż z różnych. To pewnie dałoby się uzyskać przez
    >dynamiczne zmiany tych kosztów zależnie od tego co już wcześniej zostało
    przeniesione.

    Jak pisal Wit Jakuczun, to jest "Assignment problem". Assignment
    problem mozna rozwiazac przy pomocy programowania liniowego (albo
    specjalnej wersji dla assignment problem zwanej Hungarian algorithm.
    Implementacje mozna znaleac w sieci).

    Twoj problem jest dosyc duzy, wiec programowania liniowego bym nie
    zalecal.

    Assignment problem jest znany jako "bipartite matching minimum weight
    problem", co z kolei jes tszczegolnym przypadkiem "general minimum
    weigh matching problem". Do tego ostatniego sa dobre algorytmy
    przyblizone. Gwarantuja ze koszt nei bedzie gorszy niz 1/2 kosztu
    optymalnego.

    Opis algorytmu (a wlasciwie dwoch) jest tutaj

    http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.
    1.1.11.5212

    Kazdy z nich zapisuje sie na pol stronei Javy i oba sa bardzo szybkie.

    Ci sami autorzy podaja algorytmy gwarantujace 2/3 optymalnosci, ale sa
    one bardzo skomplikwoane i jak wykazuje moje doswiadczenie, nei warte
    zachodu

    A.L.

Podziel się

Poleć ten post znajomemu poleć

Wydrukuj ten post drukuj


Następne wpisy z tego wątku

Najnowsze wątki z tej grupy


Najnowsze wątki

Szukaj w grupach

Eksperci egospodarka.pl

1 1 1

Wpisz nazwę miasta, dla którego chcesz znaleźć jednostkę ZUS.

Wzory dokumentów

Bezpłatne wzory dokumentów i formularzy.
Wyszukaj i pobierz za darmo: