« spipat: SNOBOL/SPITBOL-patterns i C++ och Python | Main | The Pop-11 programming language and Poplog environment »
augusti 05, 2009
En uppdatering om vad som händer
Som tidigare nämts så är det på andra bloggen My Constraint Programming Blog det händer saker numera.
Vad har hänt där då (sedan maj)? Faktiskt en hel del. Jag länkar inte till alla inlägg utan endast till några "high lights":
Maj
* Report from SweConsNet2009, including my presentation, som alltså är en rapport från villkorsprogrammeringsworkshopen SweConsNet09, där jag var med och föreläste en stund. Stora delar av maj gick åt till att förebereda för denna föreläsning.Juni
* Lyckades efter ett antal genomläsningar av några olika skrifter förstå hur det globala villkoret (global constraint)cumulatives
funkar i Gecode, och skrev om detta i Scheduling with the cumulatives constraint in Gecode .
* Publicerade och bloggade om villkorsprogrammeringssystemet ECLiPSe (nej, det ska inte förväxlas med utveckligs-GUI:t). Det är ett riktigt trevligt Prolog-baserat system med mycket användbara utökningar såsom loopar och arrays som gör att man inte måste lösa allting med rekursioner och listor. Se vidare My ECLiPSe page som nu innehåller cirka 120 modeller; till största delen har just desamma utökningar används.
Juli
* Skapade ett samlingssida över de problem som modellerats i fler än ett villkorsprogrammeringssystem: Common constraint programming problems som presenterades i Common constraint programming problems.* Modellerade mina cirka 17 basmodeller ("learning models") i ett ytterligare villkorsprogrammeringssystem: Tailor, som konverterar Essence' (ett högnivåspråk liksom t.ex. MiniZinc och Comet) till Minion, Gecode eller FlatZinc (det som MiniZinc använder). Och det var just stödet av FlatZinc inspirerade till detta.
Tailor presenterades i New Tailor version (v0.3.2) and My Essence'/Tailor page.
Se mera på My Tailor/Essence' page.
Augusti, idag faktiskt
Följande når världen för första gången här, nämligen en liten MiniZinc-modell som löser Strimko-problem. Strimko är en mer avancerad variant av latinska kvadrater (alla rader respektive alla kolumner måste innehålla distinkta värden) där man även ska se till så att ytterligare villkor i form av en "strängar" av celler också måste vara olika. (Strimko är således inte helt väsensskilt från Sudoku.)MiniZinc-modellen är strimko.mzn med de tre probleminstanserna:
strimko_067.dzn, strimko_068.dzn samt strimko_070.dzn.
Inspiration till detta var från bloggen 360: A New Twist on Latin Squares.
Till sist, för denna gång
För en sammanställning över de olika villkorsprogrammeringssystem jag kikat (och fortfarande kikar) på, se översiktsidan med det passande - men i någon mån förutsägbara - namnet My Constraint Programming Page.
Posted by hakank at augusti 5, 2009 07:50 EM Posted to Constraint Programming