abclinuxu.cz AbcLinuxu.cz itbiz.cz ITBiz.cz HDmag.cz HDmag.cz abcprace.cz AbcPráce.cz
AbcLinuxu hledá autory!
Inzerujte na AbcPráce.cz od 950 Kč
Rozšířené hledání
×
    včera 22:22 | Komunita

    Upozornění pro uživatele Asahi Linuxu: Neaktualizujte macOS na verzi 27 Golden Gate! Apple změnil detekci spouštěcích oddílů. Po aktualizaci oddíl s Asahi Linuxem nevidí. Snad je to jenom chyba.

    Ladislav Hagara | Komentářů: 0
    včera 15:11 | Komunita

    Na webu konference Den IPv6, která se konala 4. června v Národní technické knihovně v pražských Dejvicích, jsou nyní k dispozici všechny prezentace (v PDF) a jejich videozáznamy. Organizátory konference byly i letos sdružení CESNET, CZ.NIC a NIX.CZ.

    VSladek | Komentářů: 0
    včera 13:11 | Nová verze

    Byla vydána nová verze 9.1.0 správce sbírky fotografií digiKam (Wikipedie). Přehled novinek i s náhledy v oficiálním oznámení (NEWS). Vypíchnout lze vylepšené vyhledávání nebo podporu Pixel Motion Photos. Nejnovější digiKam je ke stažení také jako balíček ve formátu AppImage. Stačí jej stáhnout, nastavit právo ke spuštění a spustit.

    Ladislav Hagara | Komentářů: 0
    včera 11:44 | Pozvánky

    Přihlaste svou přednášku na další ročník konference LinuxDays, který proběhne 3. a 4. října na FIT ČVUT v pražských Dejvicích. Příjem témat poběží do konce prázdnin, pak proběhne veřejné hlasování a následně sestavení programu.

    Petr Krčmář | Komentářů: 2
    včera 04:44 | Nová verze

    Byla vydána nová verze 2.4.68 svobodného multiplatformního webového serveru Apache (httpd). Řešeno je mimo jiné 13 zranitelností.

    Ladislav Hagara | Komentářů: 2
    8.6. 22:44 | IT novinky

    Apple na své vývojářské konferenci WWDC26 (Worldwide Developers Conference, keynote) představil řadu novinek. Vypíchnout lze novou generaci Apple Intelligence a zbrusu novou Siri, která dostala název Siri AI. Kvůli Aktu o digitálních trzích (DMA) však funkce Siri AI nebudou v systémech iOS 27 a iPadOS 27 k dispozici uživatelům v Evropské unii.

    Ladislav Hagara | Komentářů: 0
    8.6. 22:22 | Nová verze

    Byla vydána nová verze 1.18.0 distribučního frameworku Flatpak (Wikipedie), tj. technologie umožňující distribuovat aplikace v podobě jednoho instalačního souboru na různé linuxové distribuce a jejich různá vydání. Přehled novinek na GitHubu. Vypíchnout lze podporu rozhraní /dev/kfd pro výpočty na kartách AMD (AMDKFD).

    Ladislav Hagara | Komentářů: 0
    8.6. 20:44 | Nová verze

    aMule (Wikipedie), tj. multiplatformní klient pro peer-to-peer sdílení souborů pro sítě eD2k and Kademlia, byl po více než pěti letech od vydání poslední verze 2.3.3, vydán v nové major verzi 3.0.0 (GitHub). S novou webovou stránkou a dokumentací.

    Ladislav Hagara | Komentářů: 5
    8.6. 12:55 | IT novinky

    Byly vyhlášeni vítězové a zveřejněny vítězné zdrojové kódy (YouTube, GitHub) již 29. ročníku soutěže International Obfuscated C Code Contest (IOCCC), tj. soutěže o nejnepřehlednější (nejobfuskovanější) zdrojový kód v jazyce C.

    Ladislav Hagara | Komentářů: 0
    8.6. 12:44 | IT novinky

    Evropská komise předložila evropský balíček pro technologickou suverenitu, tedy soubor opatření, která mají posílit kapacity EU v oblasti polovodičů, umělé inteligence, cloudu a open source. To Evropě pomůže stát se lídrem v oblasti umělé inteligence, posílit její digitální autonomii a vytvářet podmínky pro udržitelnější digitální budoucnost.

    Ladislav Hagara | Komentářů: 16
    Které desktopové prostředí na Linuxu používáte?
     (11%)
     (8%)
     (2%)
     (15%)
     (31%)
     (3%)
     (6%)
     (3%)
     (15%)
     (26%)
    Celkem 1856 hlasů
     Komentářů: 30, poslední 3.4. 20:20
    Rozcestník


    Dotaz: Generování rozvrhů / směn

    Bystroushaak avatar 20.6.2013 13:45 Bystroushaak | skóre: 36 | blog: Bystroushaakův blog | Praha
    Generování rozvrhů / směn
    Přečteno: 1939×
    Zdravím.

    Potřeboval bych trochu nasměrovat jakým způsobem generovat rozvrhy / směny. Obecně problém zadání zní, že máme několik lidí, ti mají různé požadavky, někdo chodí rád do prace o víkendu, někdo odpoledne, někdo dopoledne a do toho jim napasovat každý týden určitý počet hodin podle zadaných pravidel. Druhá část problému je poté generování školního rozvrhu, máme učitele, žáky a teď je nějak rozumě rozhodit na předměty.

    Hodila by se nějaká obecná teorie (klidně anglicky), případně jestli jsou nějaké knihovny pro python. Nebo by pro tohle byly vhodnější deklarativní jazyky, jako je třeba prolog? Je mi jasné, že na tohle existují programy, ale já bych se rád naučil jak na to.

    PS: Nejedná se o školní zadání. Za uplynulý rok se na mě obrací už třetí člověk, jestli bych mu něco podobného nenaprogramoval. Zatím jsem vždy odmítl, protože mě napadají jen šíleně neefektivní řešení. Teď mě to trochu zaujalo, protože se jedná o jeden z těch spíše matematických problémů, na kterých jsem zatím vždy selhal.

    Odpovědi

    20.6.2013 15:31 DarkKnight | skóre: 26
    Rozbalit Rozbalit vše Re: Generování rozvrhů / směn
    Bystroushaak avatar 20.6.2013 17:52 Bystroushaak | skóre: 36 | blog: Bystroushaakův blog | Praha
    Rozbalit Rozbalit vše Re: Generování rozvrhů / směn
    Ten první odkaz nic moc, ale druhý vypadá docela zajímavě, zkusím se tím pročíst. Díky.
    20.6.2013 15:59 hanny
    Rozbalit Rozbalit vše Re: Generování rozvrhů / směn
    Ja bych zkusil nejaky Constraint solver, nejlepe asi Gecode (C++). Pro Python by asi slo pouzit or-tools od Googlu, ale s tim nemam zadne zkusenosti...
    Bystroushaak avatar 20.6.2013 17:53 Bystroushaak | skóre: 36 | blog: Bystroushaakův blog | Praha
    Rozbalit Rozbalit vše Re: Generování rozvrhů / směn
    Pro python jsem teď našel python-constraint. Constraint je nejspíš to slovo, které jsem hledal abych našel :) Díky.
    20.6.2013 18:35 hanny
    Rozbalit Rozbalit vše Re: Generování rozvrhů / směn
    Pro python jsem teď našel python-constraint. Constraint je nejspíš to slovo, které jsem hledal abych našel :) Díky.
    Bacha tato knihovna (nebo spise modul?) je po prvnim zkouknuti velmi jednoducha a troufnu si rict ze s ni neuspejes...

    Osobne bych nejdrive doporucoval:
    • aspon rychle projit tento dokument. Dozvis se tam jak Constraint prgramming funguje a hlavne zjistis jake ruzne omezujici podminky muzes pouzivat
    • zkusit si v Gecode vymodelovat nejaky tvuj problem. Gecode bych volil mimo jine proto, ze obsahuje asi nejvetsi mnozstvi omezujicich podminek ze kterych si muzes vybrat a taky ma GIST (vizualizace toho jak tvuj model hleda reseni)
    • ...a pak uvidis jestli to ma vubec cenu nebo je to na tvuj problem nepouzitelne:)
    Goheeca avatar 25.6.2013 00:04 Goheeca | skóre: 7
    Rozbalit Rozbalit vše Re: Generování rozvrhů / směn
    Rád bych zmínil existenci amb operátoru, který implementuje backtracking. Nejpřirozeněji vypadá ve Scheme.
    Goheeca avatar 25.6.2013 00:09 Goheeca | skóre: 7
    Rozbalit Rozbalit vše Re: Generování rozvrhů / směn
    Tedy když nepočítám deklarativní logické jazyky jako je Prolog.
    20.6.2013 19:43 Radek Miček | skóre: 23 | blog: radekm_blog
    Rozbalit Rozbalit vše Re: Generování rozvrhů / směn
    Kromě Gecode můžete zkusit řešič MINION.

    Mj. existují modelovací jazyky nezávislé na řešiči – např. MiniZinc (návod).

    20.6.2013 19:48 Radek Miček | skóre: 23 | blog: radekm_blog
    Rozbalit Rozbalit vše Re: Generování rozvrhů / směn
    Dalším oblíbeným přístupem kromě CSP je převod na SAT a následné použití nějakého SAT řešiče.
    22.6.2013 12:02 Bill Gates
    Rozbalit Rozbalit vše Re: Generování rozvrhů / směn
    Ja si vzdycky u problemu, ktery z hlavy neumim naprogramovat sednu a zjistim si, jak bych to delal ja sam bez softwaru. Zkusim si to a presne tak jak bych to udelal ja, tak napisu software, ktery udela totez - stejny postup, stejna pravidla. Program pak zpravidla funguje uplne dokonale, obzvlaste kdyz to delam pro sebe a pouzivam to, a tak mi zalezi na tom, aby to delalo skutecne presne to co chci, aby to delalo a to bez chyb. Behem vyvoje softwaru pro reseni konkretniho problemu clovek obvykle jeste zjisti, ze ten postup je v podstate uplne jednoduchy coz mu vlastne pomuze i v realnem zivote, kdy pochopi vice souvislosti a ruznych zakonitosti a sve postupy z realneho zivota dokaze jeste vice zefektivnit diky tomu co zjistil, kdyz se ponoril do hloubky postupu reseni problemu pri vyvoji zminovaneho software.
    22.6.2013 12:48 potato
    Rozbalit Rozbalit vše Re: Generování rozvrhů / směn
    To nefunguje. Především z důvodu velmi odlišné architektury mozku a počítače.

    Například zjistit, zda jsou v obrázku útvary, které se opakují, dokáže člověk snadno. Zato nedokáže pořádně popsat, jak to vlastně dělá, protože rozeznávání vzorů je pro mozek low-level operace, kterou už nedokážeš snadno rozložit na efektivně naprogramovatelné operace.

    Na druhé straně pro počítač není problém provést rozsáhlou Monte-Carlo simulaci, použít Fourierovu transformaci, jako přípravný krok si setřídit milion věcí podle velikosti, etc., v situacích, kdy se člověk vzmůže nanejvýš na hrubý odhad výsledku.

    Ceny různých operací jsou natolik odlišné, že už u úplně základních problémů jako třídění vypadají nejvhodnější postupy pro člověka a počítač dost jinak.
    22.6.2013 15:03 Bill Gates
    Rozbalit Rozbalit vše Re: Generování rozvrhů / směn
    Jak kdy. Ve vyse uvedenem zadani nebylo nic o rozpoznavani smyslu nebo vyznamu obrazku. Zalezi na tom taky zdali do zadani davame rozume zpracovatelne argumenty, nebo pocitacem tezko zpracovatelne. Urcite jsem nemel na mysli tvorbu pocitacoveho algoritmu, ktery na zaklade vstupu urci, zdali zadana muzika predana programu jako argument v mp3 je dobra muzika, nebo spatna muzika. Mel jsem na mysli ponekud jednodussi zadani, treba jako zadani o vhodnem skladani smen, coz jsou presne casove ohranicene useky, ktere lze predem snadno definovat.
    Bystroushaak avatar 22.6.2013 20:02 Bystroushaak | skóre: 36 | blog: Bystroushaakův blog | Praha
    Rozbalit Rozbalit vše Re: Generování rozvrhů / směn
    Mel jsem na mysli ponekud jednodussi zadani, treba jako zadani o vhodnem skladani smen, coz jsou presne casove ohranicene useky, ktere lze predem snadno definovat.
    A přesto se jedná o NP-obtížný problém :]
    23.6.2013 16:28 Logik
    Rozbalit Rozbalit vše Re: Generování rozvrhů / směn
    Mám za to že i NP-úplný, tj. nejtěžší z NP problémů.

    Pokud nevíš, co to znamená, tak prakticky to, že to lze přesně vyřešit (zjednodušuji) pouze vyzkoušením všech možností. Nicméně existují heuristiky, které umožňují nalézt uspokojivé řešení v rozumném čase.

    Dobře by Ti poradila tato přednáška: http://ktiml.mff.cuni.cz/~bartak/planovani/ popř. kniha, na kterou se odkazuje či materiály tam ke stažení.

    Pokud budeš hledat materiály, zahrň klíčové slovo rozvrhování (scheduling)
    23.6.2013 17:38 Radek Miček | skóre: 23 | blog: radekm_blog
    Rozbalit Rozbalit vše Re: Generování rozvrhů / směn
    Nicméně existují heuristiky, které umožňují nalézt uspokojivé řešení v rozumném čase.
    NP-úplné problémy jsou rozhodovací problémy (slovo uspokojivé tedy nedává smysl).
    Pokud nevíš, co to znamená, tak prakticky to, že to lze přesně vyřešit (zjednodušuji) pouze vyzkoušením všech možností.
    To bych pak v praxi nevyřešil SAT o více než cca 60 proměnných.
    23.6.2013 19:57 Ariczek | skóre: 5
    Rozbalit Rozbalit vše Re: Generování rozvrhů / směn
    Rozhodovací problémy jsou jen jedna podmnožina NP problémů ;)
    • rozhodovací (existuje nějaké řešení?)
    • konstruktivní (sestrojte nějaké řešení.)
    • enumerační (sestrojte všechna řešení)

    Ale pořád se tu bavíme o kombinatorických problémech, co optimalizační ? V kterých je kromě vstupů a konfigurace problému ještě také nějaká cenová funkce ? A tam právě ono slovo uspokojivě přichází na řadu ;)
    23.6.2013 20:35 Radek Miček | skóre: 23 | blog: radekm_blog
    Rozbalit Rozbalit vše Re: Generování rozvrhů / směn
    Rozhodovací problémy jsou jen jedna podmnožina NP problémů ;)
    Nikoliv. Třída NP obsahuje pouze rozhodovací problémy. Třída problémů, kde jde o konstrukci řešení, se jmenuje FNP. Třída, kde jde o počítání řešení, se jmenuje #P.
    Josef Kufner avatar 23.6.2013 20:38 Josef Kufner | skóre: 70
    Rozbalit Rozbalit vše Re: Generování rozvrhů / směn
    Je to NPC problém a lze to řešit pomocí ILP. Na FELu se to učí v rámci předmětu Kombinatorická optimalizace (A4M35KO), přednáší to Zdeněk Hanzálek a možná, že mezi jeho publikacema něco najdeš.
    Hello world ! Segmentation fault (core dumped)
    24.6.2013 08:20 stoklasa
    Rozbalit Rozbalit vše Re: Generování rozvrhů / směn
    excel a Microsoft Solver je velice jednoducha cesta viz. Priklad
    24.6.2013 18:32 JS
    Rozbalit Rozbalit vše Re: Generování rozvrhů / směn
    Nedavno jsem narazil na OptaPlanner, vypada to vic prakticky zamerene nez zminene Gecode. Ale zkusenost s tim nemam.

    Založit nové vláknoNahoru

    Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

    ISSN 1214-1267   www.czech-server.cz
    © 1999-2015 Nitemedia s. r. o. Všechna práva vyhrazena.