Something went wrong. Try again.
This repository has no description
Something went wrong. Try again.
237 kB · 10298 lines
at develop
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311131213131314131513161317131813191320132113221323132413251326132713281329133013311332133313341335133613371338133913401341134213431344134513461347134813491350135113521353135413551356135713581359136013611362136313641365136613671368136913701371137213731374137513761377137813791380138113821383138413851386138713881389139013911392139313941395139613971398139914001401140214031404140514061407140814091410141114121413141414151416141714181419142014211422142314241425142614271428142914301431143214331434143514361437143814391440144114421443144414451446144714481449145014511452145314541455145614571458145914601461146214631464146514661467146814691470147114721473147414751476147714781479148014811482148314841485148614871488148914901491149214931494149514961497149814991500150115021503150415051506150715081509151015111512151315141515151615171518151915201521152215231524152515261527152815291530153115321533153415351536153715381539154015411542154315441545154615471548154915501551155215531554155515561557155815591560156115621563156415651566156715681569157015711572157315741575157615771578157915801581158215831584158515861587158815891590159115921593159415951596159715981599160016011602160316041605160616071608160916101611161216131614161516161617161816191620162116221623162416251626162716281629163016311632163316341635163616371638163916401641164216431644164516461647164816491650165116521653165416551656165716581659166016611662166316641665166616671668166916701671167216731674167516761677167816791680168116821683168416851686168716881689169016911692169316941695169616971698169917001701170217031704170517061707170817091710171117121713171417151716171717181719172017211722172317241725172617271728172917301731173217331734173517361737173817391740174117421743174417451746174717481749175017511752175317541755175617571758175917601761176217631764176517661767176817691770177117721773177417751776177717781779178017811782178317841785178617871788178917901791179217931794179517961797179817991800180118021803180418051806180718081809181018111812181318141815181618171818181918201821182218231824182518261827182818291830183118321833183418351836183718381839184018411842184318441845184618471848184918501851185218531854185518561857185818591860186118621863186418651866186718681869187018711872187318741875187618771878187918801881188218831884188518861887188818891890189118921893189418951896189718981899190019011902190319041905190619071908190919101911191219131914191519161917191819191920192119221923192419251926192719281929193019311932193319341935193619371938193919401941194219431944194519461947194819491950195119521953195419551956195719581959196019611962196319641965196619671968196919701971197219731974197519761977197819791980198119821983198419851986198719881989199019911992199319941995199619971998199920002001200220032004200520062007200820092010201120122013201420152016201720182019202020212022202320242025202620272028202920302031203220332034203520362037203820392040204120422043204420452046204720482049205020512052205320542055205620572058205920602061206220632064206520662067206820692070207120722073207420752076207720782079208020812082208320842085208620872088208920902091209220932094209520962097209820992100210121022103210421052106210721082109211021112112211321142115211621172118211921202121212221232124212521262127212821292130213121322133213421352136213721382139214021412142214321442145214621472148214921502151215221532154215521562157215821592160216121622163216421652166216721682169217021712172217321742175217621772178217921802181218221832184218521862187218821892190219121922193219421952196219721982199220022012202220322042205220622072208220922102211221222132214221522162217221822192220222122222223222422252226222722282229223022312232223322342235223622372238223922402241224222432244224522462247224822492250225122522253225422552256225722582259226022612262226322642265226622672268226922702271227222732274227522762277227822792280228122822283228422852286228722882289229022912292229322942295229622972298229923002301230223032304230523062307230823092310231123122313231423152316231723182319232023212322232323242325232623272328232923302331233223332334233523362337233823392340234123422343234423452346234723482349235023512352235323542355235623572358235923602361236223632364236523662367236823692370237123722373237423752376237723782379238023812382238323842385238623872388238923902391239223932394239523962397239823992400240124022403240424052406240724082409241024112412241324142415241624172418241924202421242224232424242524262427242824292430243124322433243424352436243724382439244024412442244324442445244624472448244924502451245224532454245524562457245824592460246124622463246424652466246724682469247024712472247324742475247624772478247924802481248224832484248524862487248824892490249124922493249424952496249724982499250025012502250325042505250625072508250925102511251225132514251525162517251825192520252125222523252425252526252725282529253025312532253325342535253625372538253925402541254225432544254525462547254825492550255125522553255425552556255725582559256025612562256325642565256625672568256925702571257225732574257525762577257825792580258125822583258425852586258725882589259025912592259325942595259625972598259926002601260226032604260526062607260826092610261126122613261426152616261726182619262026212622262326242625262626272628262926302631263226332634263526362637263826392640264126422643264426452646264726482649265026512652265326542655265626572658265926602661266226632664266526662667266826692670267126722673267426752676267726782679268026812682268326842685268626872688268926902691269226932694269526962697269826992700270127022703270427052706270727082709271027112712271327142715271627172718271927202721272227232724272527262727272827292730273127322733273427352736273727382739274027412742274327442745274627472748274927502751275227532754275527562757275827592760276127622763276427652766276727682769277027712772277327742775277627772778277927802781278227832784278527862787278827892790279127922793279427952796279727982799280028012802280328042805280628072808280928102811281228132814281528162817281828192820282128222823282428252826282728282829283028312832283328342835283628372838283928402841284228432844284528462847284828492850285128522853285428552856285728582859286028612862286328642865286628672868286928702871287228732874287528762877287828792880288128822883288428852886288728882889289028912892289328942895289628972898289929002901290229032904290529062907290829092910291129122913291429152916291729182919292029212922292329242925292629272928292929302931293229332934293529362937293829392940294129422943294429452946294729482949295029512952295329542955295629572958295929602961296229632964296529662967296829692970297129722973297429752976297729782979298029812982298329842985298629872988298929902991299229932994299529962997299829993000300130023003300430053006300730083009301030113012301330143015301630173018301930203021302230233024302530263027302830293030303130323033303430353036303730383039304030413042304330443045304630473048304930503051305230533054305530563057305830593060306130623063306430653066306730683069307030713072307330743075307630773078307930803081308230833084308530863087308830893090309130923093309430953096309730983099310031013102310331043105310631073108310931103111311231133114311531163117311831193120312131223123312431253126312731283129313031313132313331343135313631373138313931403141314231433144314531463147314831493150315131523153315431553156315731583159316031613162316331643165316631673168316931703171317231733174317531763177317831793180318131823183318431853186318731883189319031913192319331943195319631973198319932003201320232033204320532063207320832093210321132123213321432153216321732183219322032213222322332243225322632273228322932303231323232333234323532363237323832393240324132423243324432453246324732483249325032513252325332543255325632573258325932603261326232633264326532663267326832693270327132723273327432753276327732783279328032813282328332843285328632873288328932903291329232933294329532963297329832993300330133023303330433053306330733083309331033113312331333143315331633173318331933203321332233233324332533263327332833293330333133323333333433353336333733383339334033413342334333443345334633473348334933503351335233533354335533563357335833593360336133623363336433653366336733683369337033713372337333743375337633773378337933803381338233833384338533863387338833893390339133923393339433953396339733983399340034013402340334043405340634073408340934103411341234133414341534163417341834193420342134223423342434253426342734283429343034313432343334343435343634373438343934403441344234433444344534463447344834493450345134523453345434553456345734583459346034613462346334643465346634673468346934703471347234733474347534763477347834793480348134823483348434853486348734883489349034913492349334943495349634973498349935003501350235033504350535063507350835093510351135123513351435153516351735183519352035213522352335243525352635273528352935303531353235333534353535363537353835393540354135423543354435453546354735483549355035513552355335543555355635573558355935603561356235633564356535663567356835693570357135723573357435753576357735783579358035813582358335843585358635873588358935903591359235933594359535963597359835993600360136023603360436053606360736083609361036113612361336143615361636173618361936203621362236233624362536263627362836293630363136323633363436353636363736383639364036413642364336443645364636473648364936503651365236533654365536563657365836593660366136623663366436653666366736683669367036713672367336743675367636773678367936803681368236833684368536863687368836893690369136923693369436953696369736983699370037013702370337043705370637073708370937103711371237133714371537163717371837193720372137223723372437253726372737283729373037313732373337343735373637373738373937403741374237433744374537463747374837493750375137523753375437553756375737583759376037613762376337643765376637673768376937703771377237733774377537763777377837793780378137823783378437853786378737883789379037913792379337943795379637973798379938003801380238033804380538063807380838093810381138123813381438153816381738183819382038213822382338243825382638273828382938303831383238333834383538363837383838393840384138423843384438453846384738483849385038513852385338543855385638573858385938603861386238633864386538663867386838693870387138723873387438753876387738783879388038813882388338843885388638873888388938903891389238933894389538963897389838993900390139023903390439053906390739083909391039113912391339143915391639173918391939203921392239233924392539263927392839293930393139323933393439353936393739383939394039413942394339443945394639473948394939503951395239533954395539563957395839593960396139623963396439653966396739683969397039713972397339743975397639773978397939803981398239833984398539863987398839893990399139923993399439953996399739983999400040014002400340044005400640074008400940104011401240134014401540164017401840194020402140224023402440254026402740284029403040314032403340344035403640374038403940404041404240434044404540464047404840494050405140524053405440554056405740584059406040614062406340644065406640674068406940704071407240734074407540764077407840794080408140824083408440854086408740884089409040914092409340944095409640974098409941004101410241034104410541064107410841094110411141124113411441154116411741184119412041214122412341244125412641274128412941304131413241334134413541364137413841394140414141424143414441454146414741484149415041514152415341544155415641574158415941604161416241634164416541664167416841694170417141724173417441754176417741784179418041814182418341844185418641874188418941904191419241934194419541964197419841994200420142024203420442054206420742084209421042114212421342144215421642174218421942204221422242234224422542264227422842294230423142324233423442354236423742384239424042414242424342444245424642474248424942504251425242534254425542564257425842594260426142624263426442654266426742684269427042714272427342744275427642774278427942804281428242834284428542864287428842894290429142924293429442954296429742984299430043014302430343044305430643074308430943104311431243134314431543164317431843194320432143224323432443254326432743284329433043314332433343344335433643374338433943404341434243434344434543464347434843494350435143524353435443554356435743584359436043614362436343644365436643674368436943704371437243734374437543764377437843794380438143824383438443854386438743884389439043914392439343944395439643974398439944004401440244034404440544064407440844094410441144124413441444154416441744184419442044214422442344244425442644274428442944304431443244334434443544364437443844394440444144424443444444454446444744484449445044514452445344544455445644574458445944604461446244634464446544664467446844694470447144724473447444754476447744784479448044814482448344844485448644874488448944904491449244934494449544964497449844994500450145024503450445054506450745084509451045114512451345144515451645174518451945204521452245234524452545264527452845294530453145324533453445354536453745384539454045414542454345444545454645474548454945504551455245534554455545564557455845594560456145624563456445654566456745684569457045714572457345744575457645774578457945804581458245834584458545864587458845894590459145924593459445954596459745984599460046014602460346044605460646074608460946104611461246134614461546164617461846194620462146224623462446254626462746284629463046314632463346344635463646374638463946404641464246434644464546464647464846494650465146524653465446554656465746584659466046614662466346644665466646674668466946704671467246734674467546764677467846794680468146824683468446854686468746884689469046914692469346944695469646974698469947004701470247034704470547064707470847094710471147124713471447154716471747184719472047214722472347244725472647274728472947304731473247334734473547364737473847394740474147424743474447454746474747484749475047514752475347544755475647574758475947604761476247634764476547664767476847694770477147724773477447754776477747784779478047814782478347844785478647874788478947904791479247934794479547964797479847994800480148024803480448054806480748084809481048114812481348144815481648174818481948204821482248234824482548264827482848294830483148324833483448354836483748384839484048414842484348444845484648474848484948504851485248534854485548564857485848594860486148624863486448654866486748684869487048714872487348744875487648774878487948804881488248834884488548864887488848894890489148924893489448954896489748984899490049014902490349044905490649074908490949104911491249134914491549164917491849194920492149224923492449254926492749284929493049314932493349344935493649374938493949404941494249434944494549464947494849494950495149524953495449554956495749584959496049614962496349644965496649674968496949704971497249734974497549764977497849794980498149824983498449854986498749884989499049914992499349944995499649974998499950005001500250035004500550065007500850095010501150125013501450155016501750185019502050215022502350245025502650275028502950305031503250335034503550365037503850395040504150425043504450455046504750485049505050515052505350545055505650575058505950605061506250635064506550665067506850695070507150725073507450755076507750785079508050815082508350845085508650875088508950905091509250935094509550965097509850995100510151025103510451055106510751085109511051115112511351145115511651175118511951205121512251235124512551265127512851295130513151325133513451355136513751385139514051415142514351445145514651475148514951505151515251535154515551565157515851595160516151625163516451655166516751685169517051715172517351745175517651775178517951805181518251835184518551865187518851895190519151925193519451955196519751985199520052015202520352045205520652075208520952105211521252135214521552165217521852195220522152225223522452255226522752285229523052315232523352345235523652375238523952405241524252435244524552465247524852495250525152525253525452555256525752585259526052615262526352645265526652675268526952705271527252735274527552765277527852795280528152825283528452855286528752885289529052915292529352945295529652975298529953005301530253035304530553065307530853095310531153125313531453155316531753185319532053215322532353245325532653275328532953305331533253335334533553365337533853395340534153425343534453455346534753485349535053515352535353545355535653575358535953605361536253635364536553665367536853695370537153725373537453755376537753785379538053815382538353845385538653875388538953905391539253935394539553965397539853995400540154025403540454055406540754085409541054115412541354145415541654175418541954205421542254235424542554265427542854295430543154325433543454355436543754385439544054415442544354445445544654475448544954505451545254535454545554565457545854595460546154625463546454655466546754685469547054715472547354745475547654775478547954805481548254835484548554865487548854895490549154925493549454955496549754985499550055015502550355045505550655075508550955105511551255135514551555165517551855195520552155225523552455255526552755285529553055315532553355345535553655375538553955405541554255435544554555465547554855495550555155525553555455555556555755585559556055615562556355645565556655675568556955705571557255735574557555765577557855795580558155825583558455855586558755885589559055915592559355945595559655975598559956005601560256035604560556065607560856095610561156125613561456155616561756185619562056215622562356245625562656275628562956305631563256335634563556365637563856395640564156425643564456455646564756485649565056515652565356545655565656575658565956605661566256635664566556665667566856695670567156725673567456755676567756785679568056815682568356845685568656875688568956905691569256935694569556965697569856995700570157025703570457055706570757085709571057115712571357145715571657175718571957205721572257235724572557265727572857295730573157325733573457355736573757385739574057415742574357445745574657475748574957505751575257535754575557565757575857595760576157625763576457655766576757685769577057715772577357745775577657775778577957805781578257835784578557865787578857895790579157925793579457955796579757985799580058015802580358045805580658075808580958105811581258135814581558165817581858195820582158225823582458255826582758285829583058315832583358345835583658375838583958405841584258435844584558465847584858495850585158525853585458555856585758585859586058615862586358645865586658675868586958705871587258735874587558765877587858795880588158825883588458855886588758885889589058915892589358945895589658975898589959005901590259035904590559065907590859095910591159125913591459155916591759185919592059215922592359245925592659275928592959305931593259335934593559365937593859395940594159425943594459455946594759485949595059515952595359545955595659575958595959605961596259635964596559665967596859695970597159725973597459755976597759785979598059815982598359845985598659875988598959905991599259935994599559965997599859996000600160026003600460056006600760086009601060116012601360146015601660176018601960206021602260236024602560266027602860296030603160326033603460356036603760386039604060416042604360446045604660476048604960506051605260536054605560566057605860596060606160626063606460656066606760686069607060716072607360746075607660776078607960806081608260836084608560866087608860896090609160926093609460956096609760986099610061016102610361046105610661076108610961106111611261136114611561166117611861196120612161226123612461256126612761286129613061316132613361346135613661376138613961406141614261436144614561466147614861496150615161526153615461556156615761586159616061616162616361646165616661676168616961706171617261736174617561766177617861796180618161826183618461856186618761886189619061916192619361946195619661976198619962006201620262036204620562066207620862096210621162126213621462156216621762186219622062216222622362246225622662276228622962306231623262336234623562366237623862396240624162426243624462456246624762486249625062516252625362546255625662576258625962606261626262636264626562666267626862696270627162726273627462756276627762786279628062816282628362846285628662876288628962906291629262936294629562966297629862996300630163026303630463056306630763086309631063116312631363146315631663176318631963206321632263236324632563266327632863296330633163326333633463356336633763386339634063416342634363446345634663476348634963506351635263536354635563566357635863596360636163626363636463656366636763686369637063716372637363746375637663776378637963806381638263836384638563866387638863896390639163926393639463956396639763986399640064016402640364046405640664076408640964106411641264136414641564166417641864196420642164226423642464256426642764286429643064316432643364346435643664376438643964406441644264436444644564466447644864496450645164526453645464556456645764586459646064616462646364646465646664676468646964706471647264736474647564766477647864796480648164826483648464856486648764886489649064916492649364946495649664976498649965006501650265036504650565066507650865096510651165126513651465156516651765186519652065216522652365246525652665276528652965306531653265336534653565366537653865396540654165426543654465456546654765486549655065516552655365546555655665576558655965606561656265636564656565666567656865696570657165726573657465756576657765786579658065816582658365846585658665876588658965906591659265936594659565966597659865996600660166026603660466056606660766086609661066116612661366146615661666176618661966206621662266236624662566266627662866296630663166326633663466356636663766386639664066416642664366446645664666476648664966506651665266536654665566566657665866596660666166626663666466656666666766686669667066716672667366746675667666776678667966806681668266836684668566866687668866896690669166926693669466956696669766986699670067016702670367046705670667076708670967106711671267136714671567166717671867196720672167226723672467256726672767286729673067316732673367346735673667376738673967406741674267436744674567466747674867496750675167526753675467556756675767586759676067616762676367646765676667676768676967706771677267736774677567766777677867796780678167826783678467856786678767886789679067916792679367946795679667976798679968006801680268036804680568066807680868096810681168126813681468156816681768186819682068216822682368246825682668276828682968306831683268336834683568366837683868396840684168426843684468456846684768486849685068516852685368546855685668576858685968606861686268636864686568666867686868696870687168726873687468756876687768786879688068816882688368846885688668876888688968906891689268936894689568966897689868996900690169026903690469056906690769086909691069116912691369146915691669176918691969206921692269236924692569266927692869296930693169326933693469356936693769386939694069416942694369446945694669476948694969506951695269536954695569566957695869596960696169626963696469656966696769686969697069716972697369746975697669776978697969806981698269836984698569866987698869896990699169926993699469956996699769986999700070017002700370047005700670077008700970107011701270137014701570167017701870197020702170227023702470257026702770287029703070317032703370347035703670377038703970407041704270437044704570467047704870497050705170527053705470557056705770587059706070617062706370647065706670677068706970707071707270737074707570767077707870797080708170827083708470857086708770887089709070917092709370947095709670977098709971007101710271037104710571067107710871097110711171127113711471157116711771187119712071217122712371247125712671277128712971307131713271337134713571367137713871397140714171427143714471457146714771487149715071517152715371547155715671577158715971607161716271637164716571667167716871697170717171727173717471757176717771787179718071817182718371847185718671877188718971907191719271937194719571967197719871997200720172027203720472057206720772087209721072117212721372147215721672177218721972207221722272237224722572267227722872297230723172327233723472357236723772387239724072417242724372447245724672477248724972507251725272537254725572567257725872597260726172627263726472657266726772687269727072717272727372747275727672777278727972807281728272837284728572867287728872897290729172927293729472957296729772987299730073017302730373047305730673077308730973107311731273137314731573167317731873197320732173227323732473257326732773287329733073317332733373347335733673377338733973407341734273437344734573467347734873497350735173527353735473557356735773587359736073617362736373647365736673677368736973707371737273737374737573767377737873797380738173827383738473857386738773887389739073917392739373947395739673977398739974007401740274037404740574067407740874097410741174127413741474157416741774187419742074217422742374247425742674277428742974307431743274337434743574367437743874397440744174427443744474457446744774487449745074517452745374547455745674577458745974607461746274637464746574667467746874697470747174727473747474757476747774787479748074817482748374847485748674877488748974907491749274937494749574967497749874997500750175027503750475057506750775087509751075117512751375147515751675177518751975207521752275237524752575267527752875297530753175327533753475357536753775387539754075417542754375447545754675477548754975507551755275537554755575567557755875597560756175627563756475657566756775687569757075717572757375747575757675777578757975807581758275837584758575867587758875897590759175927593759475957596759775987599760076017602760376047605760676077608760976107611761276137614761576167617761876197620762176227623762476257626762776287629763076317632763376347635763676377638763976407641764276437644764576467647764876497650765176527653765476557656765776587659766076617662766376647665766676677668766976707671767276737674767576767677767876797680768176827683768476857686768776887689769076917692769376947695769676977698769977007701770277037704770577067707770877097710771177127713771477157716771777187719772077217722772377247725772677277728772977307731773277337734773577367737773877397740774177427743774477457746774777487749775077517752775377547755775677577758775977607761776277637764776577667767776877697770777177727773777477757776777777787779778077817782778377847785778677877788778977907791779277937794779577967797779877997800780178027803780478057806780778087809781078117812781378147815781678177818781978207821782278237824782578267827782878297830783178327833783478357836783778387839784078417842784378447845784678477848784978507851785278537854785578567857785878597860786178627863786478657866786778687869787078717872787378747875787678777878787978807881788278837884788578867887788878897890789178927893789478957896789778987899790079017902790379047905790679077908790979107911791279137914791579167917791879197920792179227923792479257926792779287929793079317932793379347935793679377938793979407941794279437944794579467947794879497950795179527953795479557956795779587959796079617962796379647965796679677968796979707971797279737974797579767977797879797980798179827983798479857986798779887989799079917992799379947995799679977998799980008001800280038004800580068007800880098010801180128013801480158016801780188019802080218022802380248025802680278028802980308031803280338034803580368037803880398040804180428043804480458046804780488049805080518052805380548055805680578058805980608061806280638064806580668067806880698070807180728073807480758076807780788079808080818082808380848085808680878088808980908091809280938094809580968097809880998100810181028103810481058106810781088109811081118112811381148115811681178118811981208121812281238124812581268127812881298130813181328133813481358136813781388139814081418142814381448145814681478148814981508151815281538154815581568157815881598160816181628163816481658166816781688169817081718172817381748175817681778178817981808181818281838184818581868187818881898190819181928193819481958196819781988199820082018202820382048205820682078208820982108211821282138214821582168217821882198220822182228223822482258226822782288229823082318232823382348235823682378238823982408241824282438244824582468247824882498250825182528253825482558256825782588259826082618262826382648265826682678268826982708271827282738274827582768277827882798280828182828283828482858286828782888289829082918292829382948295829682978298829983008301830283038304830583068307830883098310831183128313831483158316831783188319832083218322832383248325832683278328832983308331833283338334833583368337833883398340834183428343834483458346834783488349835083518352835383548355835683578358835983608361836283638364836583668367836883698370837183728373837483758376837783788379838083818382838383848385838683878388838983908391839283938394839583968397839883998400840184028403840484058406840784088409841084118412841384148415841684178418841984208421842284238424842584268427842884298430843184328433843484358436843784388439844084418442844384448445844684478448844984508451845284538454845584568457845884598460846184628463846484658466846784688469847084718472847384748475847684778478847984808481848284838484848584868487848884898490849184928493849484958496849784988499850085018502850385048505850685078508850985108511851285138514851585168517851885198520852185228523852485258526852785288529853085318532853385348535853685378538853985408541854285438544854585468547854885498550855185528553855485558556855785588559856085618562856385648565856685678568856985708571857285738574857585768577857885798580858185828583858485858586858785888589859085918592859385948595859685978598859986008601860286038604860586068607860886098610861186128613861486158616861786188619862086218622862386248625862686278628862986308631863286338634863586368637863886398640864186428643864486458646864786488649865086518652865386548655865686578658865986608661866286638664866586668667866886698670867186728673867486758676867786788679868086818682868386848685868686878688868986908691869286938694869586968697869886998700870187028703870487058706870787088709871087118712871387148715871687178718871987208721872287238724872587268727872887298730873187328733873487358736873787388739874087418742874387448745874687478748874987508751875287538754875587568757875887598760876187628763876487658766876787688769877087718772877387748775877687778778877987808781878287838784878587868787878887898790879187928793879487958796879787988799880088018802880388048805880688078808880988108811881288138814881588168817881888198820882188228823882488258826882788288829883088318832883388348835883688378838883988408841884288438844884588468847884888498850885188528853885488558856885788588859886088618862886388648865886688678868886988708871887288738874887588768877887888798880888188828883888488858886888788888889889088918892889388948895889688978898889989008901890289038904890589068907890889098910891189128913891489158916891789188919892089218922892389248925892689278928892989308931893289338934893589368937893889398940894189428943894489458946894789488949895089518952895389548955895689578958895989608961896289638964896589668967896889698970897189728973897489758976897789788979898089818982898389848985898689878988898989908991899289938994899589968997899889999000900190029003900490059006900790089009901090119012901390149015901690179018901990209021902290239024902590269027902890299030903190329033903490359036903790389039904090419042904390449045904690479048904990509051905290539054905590569057905890599060906190629063906490659066906790689069907090719072907390749075907690779078907990809081908290839084908590869087908890899090909190929093909490959096909790989099910091019102910391049105910691079108910991109111911291139114911591169117911891199120912191229123912491259126912791289129913091319132913391349135913691379138913991409141914291439144914591469147914891499150915191529153915491559156915791589159916091619162916391649165916691679168916991709171917291739174917591769177917891799180918191829183918491859186918791889189919091919192919391949195919691979198919992009201920292039204920592069207920892099210921192129213921492159216921792189219922092219222922392249225922692279228922992309231923292339234923592369237923892399240924192429243924492459246924792489249925092519252925392549255925692579258925992609261926292639264926592669267926892699270927192729273927492759276927792789279928092819282928392849285928692879288928992909291929292939294929592969297929892999300930193029303930493059306930793089309931093119312931393149315931693179318931993209321932293239324932593269327932893299330933193329333933493359336933793389339934093419342934393449345934693479348934993509351935293539354935593569357935893599360936193629363936493659366936793689369937093719372937393749375937693779378937993809381938293839384938593869387938893899390939193929393939493959396939793989399940094019402940394049405940694079408940994109411941294139414941594169417941894199420942194229423942494259426942794289429943094319432943394349435943694379438943994409441944294439444944594469447944894499450945194529453945494559456945794589459946094619462946394649465946694679468946994709471947294739474947594769477947894799480948194829483948494859486948794889489949094919492949394949495949694979498949995009501950295039504950595069507950895099510951195129513951495159516951795189519952095219522952395249525952695279528952995309531953295339534953595369537953895399540954195429543954495459546954795489549955095519552955395549555955695579558955995609561956295639564956595669567956895699570957195729573957495759576957795789579958095819582958395849585958695879588958995909591959295939594959595969597959895999600960196029603960496059606960796089609961096119612961396149615961696179618961996209621962296239624962596269627962896299630963196329633963496359636963796389639964096419642964396449645964696479648964996509651965296539654965596569657965896599660966196629663966496659666966796689669967096719672967396749675967696779678967996809681968296839684968596869687968896899690969196929693969496959696969796989699970097019702970397049705970697079708970997109711971297139714971597169717971897199720972197229723972497259726972797289729973097319732973397349735973697379738973997409741974297439744974597469747974897499750975197529753975497559756975797589759976097619762976397649765976697679768976997709771977297739774977597769777977897799780978197829783978497859786978797889789979097919792979397949795979697979798979998009801980298039804980598069807980898099810981198129813981498159816981798189819982098219822982398249825982698279828982998309831983298339834983598369837983898399840984198429843984498459846984798489849985098519852985398549855985698579858985998609861986298639864986598669867986898699870987198729873987498759876987798789879988098819882988398849885988698879888988998909891989298939894989598969897989898999900990199029903990499059906990799089909991099119912991399149915991699179918991999209921992299239924992599269927992899299930993199329933993499359936993799389939994099419942994399449945994699479948994999509951995299539954995599569957995899599960996199629963996499659966996799689969997099719972997399749975997699779978997999809981998299839984998599869987998899899990999199929993999499959996999799989999100001000110002100031000410005100061000710008100091001010011100121001310014100151001610017100181001910020100211002210023100241002510026100271002810029100301003110032100331003410035100361003710038100391004010041100421004310044100451004610047100481004910050100511005210053100541005510056100571005810059100601006110062100631006410065100661006710068100691007010071100721007310074100751007610077100781007910080100811008210083100841008510086100871008810089100901009110092100931009410095100961009710098100991010010101101021010310104101051010610107101081010910110101111011210113101141011510116101171011810119101201012110122101231012410125101261012710128101291013010131101321013310134101351013610137101381013910140101411014210143101441014510146101471014810149101501015110152101531015410155101561015710158101591016010161101621016310164101651016610167101681016910170101711017210173101741017510176101771017810179101801018110182101831018410185101861018710188101891019010191101921019310194101951019610197101981019910200102011020210203102041020510206102071020810209102101021110212102131021410215102161021710218102191022010221102221022310224102251022610227102281022910230102311023210233102341023510236102371023810239102401024110242102431024410245102461024710248102491025010251102521025310254102551025610257102581025910260102611026210263102641026510266102671026810269102701027110272102731027410275102761027710278102791028010281102821028310284102851028610287102881028910290102911029210293102941029510296102971029810299## Main authors:# Christian Schulte <schulte@gecode.org>## Copyright:# Christian Schulte, 2005## This file is part of Gecode, the generic constraint# development environment:# http://www.gecode.org## Permission is hereby granted, free of charge, to any person obtaining# a copy of this software and associated documentation files (the# "Software"), to deal in the Software without restriction, including# without limitation the rights to use, copy, modify, merge, publish,# distribute, sublicense, and/or sell copies of the Software, and to# permit persons to whom the Software is furnished to do so, subject to# the following conditions:## The above copyright notice and this permission notice shall be# included in all copies or substantial portions of the Software.## THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,# EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF# MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND# NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE# LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION# OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION# WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.### This file contains entries for changelogs## There are two kinds of entries: one marking releases and the others# being actual entries.## All the lines for describing entries must start at the beginning.## A release is described as follows:# [RELEASE]# Version: <version string># Date: <when release># [DESCRIPTION]# ... All the text up to the next [ENTRY] is included# as description## An entry is described as follows:# [ENTRY]# Module:# kernel|search|int|set|cpltset|example|minimodel|iter|support|# driver|test|gist|flatzinc|other# What: bug|documentation|performance|new|removed|change# Rank: minor|major# Bug: <optional, for number from bugzilla># Issue: <optional, for number from github># Thanks: <optional, who reported etc># [DESCRIPTION]# ... All the text up to the next [ENTRY] or [RELEASE] is included# as description# [MORE]# ... If a more section is included, then it will be displayed as an# optional section in the html page.#[RELEASE]Version: 6.3.1Date: 2020-??-??[DESCRIPTION]Let's see.[ENTRY]Module: search What: newRank: minorThanks: Jip J. Dekker[DESCRIPTION]Add RestartStop class to enforce a limit on the amount of restarts conductedin a search. RestartStop is included in CombinedStop and accessible from theFlatZinc interface through the --restart-limit flag.[RELEASE]Version: 6.3.0Date: 2020-??-??[DESCRIPTION]Let's see.[ENTRY]Module: otherWhat: changeRank: major[DESCRIPTION]Gecode now requires C++ 11, the support for compiling without C++ 11has been removed.[ENTRY]Module: kernelWhat: changeRank: minor[DESCRIPTION]Make the region pool thread local.[MORE]When running tests in parallel, having a shared pool for regions took too muchtime on macOS. This change makes the pool into a thread_local instead.[ENTRY]Module: flatzincWhat: changeRank: minorThanks: Jip J. Dekker[DESCRIPTION]Automatically generate and install a MiniZinc solver configuration andinstall MiniZinc library into the share/minizinc/gecode standard location.[ENTRY]Module: intWhat: newRank: minor[DESCRIPTION]Add versions of element constraints with offsets, to enable fast domainconsistent index set transformations.[ENTRY]Module: flatzincWhat: changeRank: minor[DESCRIPTION]Use element-with-offset and 2d element propagators instead of performingindex transformations in MiniZinc.[ENTRY]Module: flatzincWhat: changeRank: minor[DESCRIPTION]Accept combined -cp-profiler flag for activating CP-Profiler and alwayssend information to profiler.[ENTRY]Module: driverWhat: changeRank: minor[DESCRIPTION]Accept combined -cp-profiler flag for activating CP-Profiler instead ofusing separate script mode.[ENTRY]Module: testWhat: bugRank: minor[DESCRIPTION]Fix testing for IntAction, BoolAction, SetAction, FloatAction withmerit functions.[ENTRY]Module: flatzincWhat: changeIssue: 77Rank: minor[DESCRIPTION]Move parser.tab.hh to parser.tab.hpp, Bison's standard location. Thisensures that the generated implementation file is compatible withBison 3.7.[ENTRY]Module: flatzincWhat: bugIssue: 61Rank: minor[DESCRIPTION]Fix fzn_table_bool and fzn_table_bool_reif predicates, which hadincorrect types.[ENTRY]Module: otherWhat: changeRank: minorIssue: 63Thanks: Markus Elfring[DESCRIPTION]Remove usages of reserved identifiers such as __GECODE_KERNEL_HH__ and_View.[MORE]Gecode used to use include guards of the form __GECODE_KERNEL_HH__.Using a double underscore in an identifier is reserved, and thusundefined behaviour. Use guards of the form GECODE_KERNEL_HH instead.Similarly, names with a single leading underscore followed by acapital letter are also reserved, and usage is thus undefinedbehaviour, and are removed.[ENTRY]Module: flatzincWhat: newRank: minor[DESCRIPTION]Add MiniZinc constraint names to FlatZinc errors when applicable andavailable.[MORE]A constraint name is specified in MiniZinc using a string annotation"my name" on the constraint item, and is translated into FlatZincusing the mzn_constraint_name("my name").[ENTRY]Module: flatzincWhat: bugRank: minor[DESCRIPTION]The cumulative constraint now respects the semantics of the MiniZincdefinition for 0-duration tasks.[ENTRY]Module: flatzincWhat: bugRank: minor[DESCRIPTION]The roots and int_set_channel constraints now work for empty sets and arrays.[ENTRY]Module: flatzincWhat: changeRank: minor[DESCRIPTION]The MiniZinc global constraint library has been updated for MiniZincversion 2.3.0 and higher, taking advantage of the new librarystructure that separates the modelling-level definition of a predicatefrom the solver-level one.[ENTRY]Module: minimodelWhat: changeRank: minorThanks: Marco Correia[DESCRIPTION]Do not require that cost for FloatMinimizeSpace (use the maximuminstead) and FloatMaximizeSpace (use the minimum instead) must beassigned.[ENTRY]Module: kernelWhat: bugRank: minorThanks: Konstantin Popov[DESCRIPTION]Fixed crash when killing the last propagator in a space.[ENTRY]Module: exampleWhat: bugRank: minorThanks: Florian Fontan[DESCRIPTION]Do not use size-based symmetry breaking together with CDBF.[ENTRY]Module: kernelWhat: changeRank: minorThanks: John W. Spirent[DESCRIPTION]Some small changes to compile with MSVC 2015 again.[ENTRY]Module: intWhat: changeRank: minorThanks: John W. Spirent[DESCRIPTION]Some small changes to compile with MSVC 2015 again.[ENTRY]Module: setWhat: changeRank: minorThanks: John W. Spirent[DESCRIPTION]Some small changes to compile with MSVC 2015 again.[ENTRY]Module: setWhat: bugRank: minorThanks: Mats Carlsson[DESCRIPTION]Fix bool-set channel propagator to work correctly when postedwith a fixed set variable.[ENTRY]Module: flatzincWhat: changeRank: minorThanks: Jip J. Dekker[DESCRIPTION]Update the error produced by the FlatZinc parser when an integerliteral is outside Gecode's integer limits.[ENTRY]Module: flatzincWhat: changeRank: minor[DESCRIPTION]The number of nodes and failures is now of type unsigned longlong int. Time is now consistently of type double.[ENTRY]Module: driverWhat: changeRank: minor[DESCRIPTION]The number of propagations, nodes, and failures is now of typeunsigned long long int. Time is now consistently of type double.[ENTRY]Module: searchWhat: changeRank: minor[DESCRIPTION]The number of nodes and failures in statistics is now of typeunsigned long long int. Time is now consistently of type double.[ENTRY]Module: kernelWhat: changeRank: minor[DESCRIPTION]The number of propagations in statistics is now of type unsignedlong long int.[ENTRY]Module: searchWhat: bugRank: minor[DESCRIPTION]The linear cutoff generator started at zero rather than at thescale factor.[ENTRY]Module: kernelWhat: newRank: minor[DESCRIPTION]For action-based branching heuristics, one can now define whetherfailure, propagation, or both should be considered.[RELEASE]Version: 6.2.0Date: 2019-04-12[DESCRIPTION]The release enables half-reification in FlatZinc, fixesindeterminstic behavior for shared branching criteria, and fixesseveral aspects for general tracers. It is recommended to upgradeas soon as possible.[ENTRY]Module: flatzincWhat: changeRank: minorThanks: Jip J. Dekker[DESCRIPTION]Enable support for half-reified constraints in the Gecode MiniZinclibrary. Half-reified constraints are used when a MiniZincexpression has to be reified and is detected to be in a positivecontext. If no Half-reified constraint has been made available bysolver, the full reification will be used. Half-reifed constraintsin the MiniZinc solver library are declared in the same way asreified constraints, but are appended by "_imp" instead of "_reif".[ENTRY]Module: kernelWhat: bugRank: major[DESCRIPTION]For the combination of some constraints (min, max, nvalues, andsome constraints over Boolean variables) with shared variableselection branching (that is, AFC, Action, and CHB) the behaviorof Gecode was indeterminstic. The indeterminism was based onusing memory addresses for determining the order of variables insome propagators which in turn affected which propagator mightrecord failure first and hence influenced the branching decisions.[ENTRY]Module: intWhat: bugRank: major[DESCRIPTION]For the combination of binpacking and linear constraints withshared variable selection branching (that is, AFC, Action, andCHB) the behavior of Gecode was indeterminstic. The indeterminismwas based on using memory addresses for determining the order ofvariables which in turn affected which propagator might recordfailure first and hence influenced the branching decisions.[ENTRY]Module: exampleWhat: newRank: minor[DESCRIPTION]Added job-shop scheduling example.[ENTRY]Module: intWhat: newRank: minor[DESCRIPTION]Added order constraint for two unary scheduling tasks.[ENTRY]Module: flatzincWhat: newRank: minor[DESCRIPTION]Support minimum_arg_bool and maximum_arg_bool constraints.[ENTRY]Module: flatzincWhat: changeRank: minor[DESCRIPTION]Use native offset calculation instead of additional constraintsfor argmin/argmax constraints.[ENTRY]Module: intWhat: newRank: minor[DESCRIPTION]Add BoolVar versions of argmax and argmin.[ENTRY]Module: kernelWhat: changeRank: majorThanks: Conrad Drescher[DESCRIPTION]The logic for recording events for general tracers was seriouslybroken as events after a call to status() have been ignored.[ENTRY]Module: floatWhat: bugRank: minorThanks: Kurt Van Den Branden[DESCRIPTION]Restore floating point rounding mode under Windows.[ENTRY]Module: kernelWhat: changeRank: minorThanks: Conrad Drescher[DESCRIPTION]Added TE_POST for default arguments for general tracers.[ENTRY]Module: searchWhat: removedRank: minor[DESCRIPTION]The special constructors for PBS with up to four SEB's have beenremoved. Use the SEBs class instead.[ENTRY]Module: intWhat: newRank: major[DESCRIPTION]Variables to be assigned during search can now be selected withall available selection criteria available for branching.[ENTRY]Module: intWhat: newRank: minor[DESCRIPTION]Omitting the variable selection criterion is equivalent toINT_VAR_NONE().[ENTRY]Module: setWhat: newRank: major[DESCRIPTION]Variables to be assigned during search can now be selected withall available selection criteria available for branching.[ENTRY]Module: setWhat: newRank: minor[DESCRIPTION]Omitting the variable selection criterion is equivalent toSET_VAR_NONE().[ENTRY]Module: floatWhat: newRank: major[DESCRIPTION]Variables to be assigned during search can now be selected withall available selection criteria available for branching.[ENTRY]Module: floatWhat: newRank: minor[DESCRIPTION]Omitting the variable selection criterion is equivalent toFLOAT_VAR_NONE().[RELEASE]Version: 6.1.1Date: 2019-02-14[DESCRIPTION]This release fixes a number of minor issues and adds post eventsto general tracers.[ENTRY]Module: flatzincWhat: bugRank: minor[DESCRIPTION]Change table and regular predicates to take 1d arrays as arguments.Otherwise the generated FlatZinc does not typecheck.[ENTRY]Module: flatzincWhat: bugRank: minor[DESCRIPTION]Add colon to statistics output to conform with FlatZinc specification.[ENTRY]Module: kernelWhat: bugRank: minorThanks: Conrad Drescher[DESCRIPTION]Use locks to guard mutexes in case tracers throw exceptions.[ENTRY]Module: searchWhat: bugRank: minorThanks: Conrad Drescher[DESCRIPTION]Use locks to guard mutexes in case tracers throw exceptions.[ENTRY]Module: minimodelWhat: bugRank: minorThanks: Conrad Drescher[DESCRIPTION]exp(0.0) now correctly evaluates to 1.0 (and not 0.0).[ENTRY]Module: intWhat: changedRank: minorThanks: Jens Krueger[DESCRIPTION]All constructors and the bool test operator of IntSet have beenmade explicit to avoid unintended behavior.[ENTRY]Module: otherWhat: newRank: minorThanks: Jip J. Dekker[DESCRIPTION]Added installation target to the CMake configuration.[ENTRY]Module: otherWhat: changeRank: minor[DESCRIPTION]Fix compilation problems with the Microsoft Visual Studio IDEwhich uses -permissive- as default, rather than -permissive ascl.exe does.[ENTRY]Module: kernelWhat: newRank: major[DESCRIPTION]General tracers now support post events, see MPG for details.[ENTRY]Module: otherWhat: changeRank: minorThanks: Jip J. Dekker[DESCRIPTION]Removed the use of glibc macros in the architecture selectionprocess of the boost interval library. This allows for thecompilation on unix machines based on a different implementationof the C library.[ENTRY]Module: exampleWhat: newRank: minorAuthor: Samuel Gagnon[DESCRIPTION]Added example for magic squares with pre-filled instances.[ENTRY]Module: kernelWhat: bugRank: minorAuthor: Conrad Drescher, Patrick Zimmer[DESCRIPTION]Fixed potential deadlock when memory has been exhausted.[RELEASE]Version: 6.1.0Date: 2018-10-17[DESCRIPTION]This release adds reified extensional constraints; support fornegative tables; experimental support for counting-based search(thanks to Samuel Gagnon); and support for standard C++initializer lists. In addition, the release has lots of bug fixesand performance improvements. It is highly recommended to switchas soon as possible![ENTRY]Module: searchWhat: changeRank: minor[DESCRIPTION]Support for the CPProfiler is now enabled by default.[ENTRY]Module: intWhat: changeRank: minorThanks: Sara Frimodig[DESCRIPTION]The default propagation for unary has been too weak (likely tohurt Gecode in the MiniZinc competitions of 2017 and 2018),now the default is back to maximal propagation.[ENTRY]Module: minimodelWhat: bugRank: minorThanks: Matthias Balzer[DESCRIPTION]Take exponent into account for float expressions with powand nroot.[ENTRY]Module: kernelWhat: changeRank: minorThanks: Rui Machado, Jens Krüger[DESCRIPTION]The alignment of memory allocated from a Region is now asprescribed by the maximum of std::max_align_t andGECODE_MEMORY_ALIGNMENT (which can be re-defined). Please also checkMPG for a tip on alignment of memory handeled by Gecode.[ENTRY]Module: flatzincWhat: newRank: major[DESCRIPTION]Added native support for reified extensional table constraints.[ENTRY]Module: intWhat: newRank: major[DESCRIPTION]Added support for reified extensional table constraints.[ENTRY]Module: intWhat: newRank: major[DESCRIPTION]Added support for negative table for extensional tableconstraints.[ENTRY]Module: intWhat: bugRank: major[DESCRIPTION]Fixed scheduling for Boolean variables (funnily, only occuredwith a newly added propagator).[ENTRY]Module: kernelWhat: bugRank: minor[DESCRIPTION]Added missing definitions for declarations of creating Homeobjects from spaces with propagator and brancher groups.[ENTRY]Module: intWhat: newRank: majorAuthor: Samuel Gagnon[DESCRIPTION]Added experimental support for counting-based search. It can beenabled by running configure with --enable-cbs. Seeexamples/qcp.cpp for an example.[ENTRY]Module: minimodelWhat: bugRank: majorThanks: Robin Eklind[DESCRIPTION]Fixed fall through bug for set expressions.[ENTRY]Module: intWhat: performanceRank: minor[DESCRIPTION]Improved performance of tuple-set extensional constraints bymaybe 15-20% through reordering loops.[ENTRY]Module: flatzincWhat: changeRank: minor[DESCRIPTION]Add -t command line option to fzn-gecode, to support new unifiedtime limit command line option for FlatZinc solvers.[ENTRY]Module: kernelWhat: changeRank: major[DESCRIPTION]The function shared() for testing whether a view occurs in anarray or whether two arrays contain at least on shared view is noa simple function and not a member function (which means, useshared(x,y) instead of x.shared(y)).[ENTRY]Module: kernelWhat: removedRank: major[DESCRIPTION]Variables cannot any longer be compared by same() andbefore(). If you want to compare two variables x and y whetherthey are identical, use x.varimp() == y.varimp().[ENTRY]Module: intWhat: removedRank: major[DESCRIPTION]Variables cannot any longer be compared by same() andbefore(). If you want to compare two variables x and y whetherthey are identical, use x.varimp() == y.varimp().[ENTRY]Module: setWhat: removedRank: major[DESCRIPTION]Variables cannot any longer be compared by same() andbefore(). If you want to compare two variables x and y whetherthey are identical, use x.varimp() == y.varimp().[ENTRY]Module: floatWhat: removedRank: major[DESCRIPTION]Variables cannot any longer be compared by same() andbefore(). If you want to compare two variables x and y whetherthey are identical, use x.varimp() == y.varimp().[ENTRY]Module: kernelWhat: changeRank: major[DESCRIPTION]Views now are compared by the standard C++ operators "==", "!=",and "<" (this replaces the same and before functions).[ENTRY]Module: intWhat: changeRank: major[DESCRIPTION]Views now are compared by the standard C++ operators "==", "!=",and "<" (this replaces the same and before functions).[ENTRY]Module: setWhat: changeRank: major[DESCRIPTION]Views now are compared by the standard C++ operators "==", "!=",and "<" (this replaces the same and before functions).[ENTRY]Module: floatWhat: changeRank: major[DESCRIPTION]Views now are compared by the standard C++ operators "==", "!=",and "<" (this replaces the same and before functions).[ENTRY]Module: kernelWhat: bugRank: minor[DESCRIPTION]The SharedArray class now has an equality operator. This fixesa problem in the FlatZinc interpreter, which is keeping a hashset of arrays that relies on the equality test.[ENTRY]Module: intWhat: changeRank: major[DESCRIPTION]The add function of TupleSet now supports standard initializerlists but do not any longer support variable argument lists (asthe combination is really confusing).[ENTRY]Module: intWhat: changeRank: major[DESCRIPTION]IntArgs now support standard initializer lists but do not anylonger support variable argument lists (as the combination isreally confusing). Now one can write IntArgs c({1,2,3}) forexample.[ENTRY]Module: intWhat: newRank: minor[DESCRIPTION]DFAs now support standard initializer lists.[ENTRY]Module: intWhat: newRank: minor[DESCRIPTION]IntSets now support standard initializer lists, for bothindividual elements (for example, IntSet s({1,2,3})) as well asranges (for example, IntSet s({{1,2},{6,9}})).[ENTRY]Module: intWhat: newRank: minor[DESCRIPTION]Integer and Boolean variable argument arrays now support standardinitializer lists.[ENTRY]Module: setWhat: newRank: minor[DESCRIPTION]Set variable argument arrays now support standard initializerlists.[ENTRY]Module: floatWhat: newRank: minor[DESCRIPTION]Float variable argument arrays now support standard initializerlists.[ENTRY]Module: searchWhat: changeRank: major[DESCRIPTION]SEBs now support standard initializer lists but do not anylonger support variable argument lists (as the combination isreally confusing).[RELEASE]Version: 6.0.1Date: 2018-05-21[DESCRIPTION]Contains a number of small fixes and one large fix for floatvariables (basically, minimodel using float variables wouldalways lead to overflow and hence throw an exception).[ENTRY]Module: floatWhat: changeRank: majorThanks: Kurt Van Den Branden[DESCRIPTION]All constraints over float variables now constrain theirvariables when being posted to avoid overflow.[ENTRY]Module: floatWhat: changeRank: minor[DESCRIPTION]The interval for a float value is now printed between "[" and"]", whereas the interval for a float variable is printed between"[[" and "]]".[ENTRY]Module: floatWhat: bugRank: minor[DESCRIPTION]Float values could not be printed.[ENTRY]Module: minimodelWhat: bugRank: minorThanks: Matthias Balzer[DESCRIPTION]Fixed strict inequalities for Float relations.[ENTRY]Module: supportWhat: bugRank: minorThanks: Kari Pahula[DESCRIPTION]Fixed compilation problem on 32 bit platforms.[ENTRY]Module: flatzincWhat: bugRank: minorThanks: Jip J. Dekker[DESCRIPTION]Fixed the initialisation of the random number generator for theFlatZinc executable. This fix ensures the generator is alwaysinitialised.[ENTRY]Module: supportWhat: changeRank: minor[DESCRIPTION]Detect is os_unfair_lock is available at runtime, in order to be ableto support older versions of macOS in the same binaries.[ENTRY]Module: flatzincWhat: changeRank: minor[DESCRIPTION]Add support for annotations to control restart strategy.[RELEASE]Version: 6.0.0Date: 2018-02-23[DESCRIPTION]This major release fixes many bugs, adds quite some newfunctionality, and changes how cloning works (most likely thebiggest change we ever did to %Gecode): the Boolean share argumentis not any longer needed (see how to change your programs in\ref PageHowToChange_6 "How to Change to Gecode 6.0.0"). The addedfunctionality includes experimental support for the CPProfiler,classes for lexicographic optimization (where the cost is definedby an array of variables), a new much faster implementation ofextensional constraints using tuple sets, and support for tracingsearch engines.[ENTRY]Module: searchWhat: bugRank: minor[DESCRIPTION]The statistics for parallel search engines was wrong.[ENTRY]Module: searchWhat: bugRank: major[DESCRIPTION]Fixed several race conditions during the termination of parallelsearch engines.[ENTRY]Module: supportWhat: changeRank: minor[DESCRIPTION]Replace deprecated OSSpinLock with os_unfair_lock on newer versionsof macOS.[ENTRY]Module: searchWhat: bugRank: major[DESCRIPTION]A sequential portfolio ignored stop objects in certain cases.[ENTRY]Module: flatzincWhat: changeRank: minor[DESCRIPTION]Share tables for extensional (table) constraints, DFAs for regularconstraints, and arrays of constants for element constraints.[ENTRY]Module: flatzincWhat: changeRank: minor[DESCRIPTION]Change default propagation level to bounds propagation for globalcardinality constraints.[ENTRY]Module: supportWhat: changeRank: minor[DESCRIPTION]Bitsets now use 64 bit integers on all 64 bit architectures.[ENTRY]Module: searchWhat: newRank: majorAuthor: Kevin Leo, Maxim Shishmarev[DESCRIPTION]Added experimental support for the CPProfiler, see MPG fordetails. This is only enabled, if Gecode has been configured withthe option --enable-cpprofiler.[ENTRY]Module: driverWhat: newRank: major[DESCRIPTION]A new mode "-mode cpprofiler" and several command-line arguments-cpprofiler-* have been added to connect Gecode to theCPProfiler. For more details, see MPG.[ENTRY]Module: driverWhat: changeRank: major[DESCRIPTION]No hyphen must be given for a command line switch and both "-"and "--" are automatically added.[ENTRY]Module: intWhat: changeRank: minor[DESCRIPTION]When posting a simple linear constraint (only two variables withunit coefficients) with default integer propagation level, adomain consistent propagator is posted. Now a domain consistentpropagator is always posted if the right-hand side constant iszero and otherwise if the computations required can be done withnormal integers.[ENTRY]Module: floatWhat: bugRank: minorThanks: Matthias Balzer[DESCRIPTION]Linear constraints now check whether constant coefficients havemixed signs (include zero) and throw an exception if yes.[ENTRY]Module: floatWhat: bugRank: majorThanks: Matthias Balzer[DESCRIPTION]Linear constraints now check properly for numerical overflow.[ENTRY]Module: flatzincWhat: changeRank: minor[DESCRIPTION]Add redefinition of disjunctive_strict in terms of cumulative.[ENTRY]Module: driverWhat: newRank: majorThanks: Roberto Castañeda Lozano[DESCRIPTION]Added IntLexMinimizeScript and IntLexMaximizeScript forlexicographic optimization.[ENTRY]Module: minimodelWhat: newRank: majorThanks: Roberto Castañeda Lozano[DESCRIPTION]Added IntLexMinimizeSpace and IntLexMaximizeSpace forlexicographic optimization.[ENTRY]Module: driverWhat: removedRank: minor[DESCRIPTION]Removed the deprecated classes MinimizeScript and MaximizeScript(use IntMinimizeScript and IntMaximizeScript instead).[ENTRY]Module: minimodelWhat: removedRank: minor[DESCRIPTION]Removed the deprecated classes MinimizeSpace and MaximizeSpace(use IntMinimizeSpace and IntMaximizeSpace instead).[ENTRY]Module: intWhat: newRank: majorAuthor: Linnea Ingmar[DESCRIPTION]Tuple sets can be initialized from DFAs (and hence regularexpressions).[ENTRY]Module: intWhat: bugRank: minorThanks: Peter Stuckey[DESCRIPTION]Perform unsharing even in failed spaces to avoid exceptions inlater constraint posting.[ENTRY]Module: minimodelWhat: newRank: majorAuthor: Matthias Balzer[DESCRIPTION]Added reified dom-expressions.[ENTRY]Module: minimodelWhat: newRank: majorAuthor: Matthias Balzer[DESCRIPTION]Added relations between integer and set expressions.[ENTRY]Module: flatzincWhat: bugRank: majorThanks: Andreas Schutt[DESCRIPTION]Fix syntax errors in definitions of global cardinality predicates.[ENTRY]Module: flatzincWhat: changeRank: minor[DESCRIPTION]Make mzn-gecode script use mzn-fzn if minizinc driver is not present.[ENTRY]Module: flatzincWhat: changeRank: minorThanks: Andreas Schutt[DESCRIPTION]Add support for int_pow predicate.[ENTRY]Module: intWhat: changeRank: minor[DESCRIPTION]Changed accuracy of delta information for integer views (now, allvalues between new and old lower/upper bound are reported asbeing discarded).[ENTRY]Module: intWhat: bugRank: minor[DESCRIPTION]Tuple sets used for Boolean variables are allowed to contain onlyzeros and ones as values.[ENTRY]Module: intWhat: removedRank: major[DESCRIPTION]Removed IPL_SPEED and IPL_MEMORY as they are not any longer needed.[ENTRY]Module: intWhat: changeRank: major[DESCRIPTION]Re-implemented tuple sets for simplicity and ease of use. Pleasesee MPG for details.[ENTRY]Module: intWhat: changeRank: majorAuthor: Linnea Ingmar[DESCRIPTION]Replaced extensional implementation by a single implementationbased on the compact-table propagator described in:J. Demeulenaere et. al., Compact-Table: Efficiently filteringtable constraints with reversible sparse bit-sets, CP 2016. Pages207-223, LNCS, Springer, 2016. The extensional propagator runs upto ten times faster than the old implementations.[ENTRY]Module: kernelWhat: bugRank: major[DESCRIPTION]Fixed virtual method table overwrite bug for Action and CHB.[ENTRY]Module: searchWhat: bugRank: major[DESCRIPTION]Fixed double deletion bug in parallel portfolio-based search.[ENTRY]Module: intWhat: bugRank: minorThanks: Massimo Morara[DESCRIPTION]Fixed printing of group information for tracing.[ENTRY]Module: floatWhat: bugRank: minorThanks: Massimo Morara[DESCRIPTION]Fixed printing of group information for tracing.[ENTRY]Module: setWhat: bugRank: minorThanks: Massimo Morara[DESCRIPTION]Fixed printing of group information for tracing.[ENTRY]Module: kernelWhat: newRank: minor[DESCRIPTION]Now it can be controlled by an Boolean argument whether AFCinformation between spaces is shared or not.[ENTRY]Module: intWhat: newRank: minor[DESCRIPTION]Now it can be controlled by an Boolean argument whether AFCinformation between spaces is shared or not.[ENTRY]Module: setWhat: newRank: minor[DESCRIPTION]Now it can be controlled by an Boolean argument whether AFCinformation between spaces is shared or not.[ENTRY]Module: floatWhat: newRank: minor[DESCRIPTION]Now it can be controlled by an Boolean argument whether AFCinformation between spaces is shared or not.[ENTRY]Module: intWhat: bugRank: majorThanks: Conrad Drescher[DESCRIPTION]The bounds propagator for abs is now bounds consistent.[ENTRY]Module: setWhat: newRank: minorThanks: Conrad Drescher[DESCRIPTION]Added checks to avoid posting set relation propagators in casetheir variables are in fact the same.[ENTRY]Module: searchWhat: bugRank: minor[DESCRIPTION]Fixed a potential memory leak for restart-based search when theroot space was failed.[ENTRY]Module: kernelWhat: removedRank: minor[DESCRIPTION]Choices do not need to implement a size function.[ENTRY]Module: flatzincWhat: changeRank: majorThanks: Maxim Shishmarev[DESCRIPTION]Added support for tracing search engines.[ENTRY]Module: flatzincWhat: bugRank: minorThanks: Andreas Schutt[DESCRIPTION]Fixed declarations of table_int and table_bool constraints.[ENTRY]Module: kernelWhat: changeRank: major[DESCRIPTION]Shared handles and objects used to implement most shared datastructures in Gecode are thread safe now. In most cases they arelock free.[ENTRY]Module: kernelWhat: changeRank: major[DESCRIPTION]The Boolean share argument during cloning is not any longer needed.[ENTRY]Module: kernelWhat: bugRank: minor[DESCRIPTION]During unsharing of AFC information also the propagatoridentifiers were changed.[ENTRY]Module: kernelWhat: changeRank: major[DESCRIPTION]The unsharing of AFC information during cloning is not any longerneeded as it happens automatically when a new AFC object iscreated.[ENTRY]Module: kernelWhat: newRank: minor[DESCRIPTION]Regions can be freed without destroying them. Consult MPG fordetails.[ENTRY]Module: kernelWhat: changeRank: major[DESCRIPTION]Regions are now created independently of a space and the policyusing several regions simultaneously has changed. Consult MPG fordetails.[ENTRY]Module: searchWhat: bugRank: major[DESCRIPTION]Fixed a race condition in portfolio-based search.[ENTRY]Module: intWhat: bugRank: major[DESCRIPTION]For Boolean variables, an initialized BoolCHB in branching was ignored.[ENTRY]Module: driverWhat: bugRank: minor[DESCRIPTION]The -slice commandline option for sequential portfolios is notignored any longer.[RELEASE]Version: 5.1.0Date: 2017-04-18[DESCRIPTION]This is a rather major release, fixing a number of bugs andadding quite a number of new features. Some of the featuresrequire changes to your models.In more detail: extended tracing so that all propagatorexecutions and commit operations can be traced; renamed activityto action to avoid confusion with activity in SAT (and fixed thataction information is also recorded during failure); added CHB(conflict-history based branching) heuristic; optimized AFC; allfunctions taken as arguments by Gecode are now based onstd::function-types; instead of branching with INT_VAR_* andINT_VAL_* for Boolean variables, BOOL_VAR_* and BOOL_VAL_* mustbe used. There are a number of additional changes, so you mightwant to read the whole changelog.[ENTRY]Module: flatzincWhat: bugRank: minor[DESCRIPTION]Some FlatZinc constraints were not guarded with assertions, which could makeGecode crash on incorrect models.[ENTRY]Module: kernelWhat: removedRank: minor[DESCRIPTION]Choices do not need to implement a size() member function (unusedsince years).[ENTRY]Module: floatWhat: bugRank: major[DESCRIPTION]The right-hand side of a linear constraint was a number ratherthan a value (FloatNum rather than FloatVal) leading to roundingerrors.[ENTRY]Module: searchWhat: bugRank: major[DESCRIPTION]Fixed crashes in sequential and parallel portfolios usingparallel or restart-based best solution search engines as assets.[ENTRY]Module: kernelWhat: newRank: major[DESCRIPTION]Trace recorders have been renamed to variable (or view) tracerecorders. New trace recorders have been added that can traceall propagate and commit operations. See MPG for details.[ENTRY]Module: kernelWhat: newRank: minor[DESCRIPTION]Tracing now also records failure-events, see MPG for details.[ENTRY]Module: intWhat: newRank: minor[DESCRIPTION]Tracing now also records failure-events, see MPG for details.[ENTRY]Module: floatWhat: newRank: minor[DESCRIPTION]Tracing now also records failure-events, see MPG for details.[ENTRY]Module: setWhat: newRank: minor[DESCRIPTION]Tracing now also records failure-events, see MPG for details.[ENTRY]Module: intWhat: changedRank: minorThanks: Conrad Drescher[DESCRIPTION]When posting a simple linear constraint (only two variables withunit coefficients) with default integer propagation level, adomain consistent propagator is posted.[ENTRY]Module: intWhat: removedRank: minor[DESCRIPTION]The integer value selections INT_VAL_NEAR_MIN(),INT_VAL_NEAR_MAX(), INT_VAL_NEAR_INC(), and INT_VAL_NEAR_DEC()have been removed. It is much better to use LNS (largeneighbourhood search), see MPG for details.[ENTRY]Module: setWhat: newRank: minor[DESCRIPTION]Added reified versions of relation constraints between a set andan integer variable.[ENTRY]Module: exampleWhat: changeRank: minor[DESCRIPTION]The Social golfers example now includes a model variant that usesinteger distinct for ensuring all player-pairs are distinct.[ENTRY]Module: kernelWhat: changeRank: minor[DESCRIPTION]Replaced initialized() function by operator bool() for RND,Action, AFC, CHB.[ENTRY]Module: setWhat: newRank: minor[DESCRIPTION]Added reified cardinality() constraint.[ENTRY]Module: kernelWhat: changeRank: minor[DESCRIPTION]Disabled propagators can be disabled again (convenience).[ENTRY]Module: otherWhat: changeRank: major[DESCRIPTION]Gecode requires now at least the Microsoft Visual Studio 2013 compiler.[ENTRY]Module: kernelWhat: newRank: major[DESCRIPTION]Added support for CHB (conflict-history based branching)heuristic for branching.[ENTRY]Module: intWhat: newRank: major[DESCRIPTION]Added support for CHB (conflict-history based branching)heuristic for branching. See MPG for details.[ENTRY]Module: setWhat: newRank: major[DESCRIPTION]Added support for CHB (conflict-history based branching)heuristic for branching. See MPG for details.[ENTRY]Module: floatWhat: newRank: major[DESCRIPTION]Added support for CHB (conflict-history based branching)heuristic for branching. See MPG for details.[ENTRY]Module: kernelWhat: changedRank: minor[DESCRIPTION]Do not count number of weakly monotonic propagators, nobody usedit anyway.[ENTRY]Module: kernelWhat: bugRank: major[DESCRIPTION]Computing the afc for an assigned variable would crash.[ENTRY]Module: kernelWhat: changeRank: major[DESCRIPTION]Reimplemented the infrastructure to record AFC, much simpler andmuch faster.[ENTRY]Module: kernelWhat: changeRank: major[DESCRIPTION]Renamed Activity to Action to avoid confusion with activity in SAT.[ENTRY]Module: intWhat: changeRank: major[DESCRIPTION]Renamed Activity to Action to avoid confusion with activity in SAT.[ENTRY]Module: setWhat: changeRank: major[DESCRIPTION]Renamed Activity to Action to avoid confusion with activity in SAT.[ENTRY]Module: floatWhat: changeRank: major[DESCRIPTION]Renamed Activity to Action to avoid confusion with activity in SAT.[ENTRY]Module: kernelWhat: changeRank: major[DESCRIPTION]Variable implementations are not allowed to return a failedmodification event directly (such as in return ME_INT_FAILED;),they need to call the function fail() instead (such as in returnfail(home);).[ENTRY]Module: kernelWhat: changeRank: major[DESCRIPTION]Activity for branching was not counted when propagation lead to afailed space, this is done now. The activity of a variable is nowby default initialized to 1. That makes activity actuallyuseful...[ENTRY]Module: kernelWhat: changeRank: major[DESCRIPTION]Variable implementations do not need to define cancel()functions, the kernel provides generic implementations (this onlymatters for users implementing their own variables). Also cleanedup some inlining mess which reduces object code size by around10%.[ENTRY]Module: kernelWhat: bugRank: major[DESCRIPTION]In certain situations the AFC could be incremented twice (couldonly have occured for linear constraints with Boolean variablesand sequence constraints).[ENTRY]Module: intWhat: changedRank: major[DESCRIPTION]All branching functions (merit, value, commit, tie-breakinglimit, filter, print) can now be of std::function type.[ENTRY]Module: setWhat: changedRank: major[DESCRIPTION]All branching functions (merit, value, commit, tie-breakinglimit, filter, print) can now be of std::function type.[ENTRY]Module: floatWhat: changedRank: major[DESCRIPTION]All branching functions (merit, value, commit, tie-breakinglimit, filter, print) can now be of std::function type.[ENTRY]Module: kernelWhat: changedRank: major[DESCRIPTION]All branching functions (merit, value, commit, tie-breakinglimit, filter, print) can now be of std::function type.[ENTRY]Module: intWhat: changeRank: major[DESCRIPTION]Branching on Boolean variables now requires to use BOOL_VAR_...()and BOOL_VAL_...() functions instead of the INT_... variants.[ENTRY]Module: intWhat: changeRank: major[DESCRIPTION]Functions passed to wait() and when() can now be of std::function type.[ENTRY]Module: floatWhat: changeRank: major[DESCRIPTION]Functions passed to wait() can now be of std::function type.[ENTRY]Module: setWhat: changeRank: major[DESCRIPTION]Functions passed to wait() can now be of std::function type.[ENTRY]Module: flatzincWhat: bugRank: minor[DESCRIPTION]Add assertions to regular constraint definition to avoid posting withinvalid arguments.[ENTRY]Module: flatzincWhat: bugRank: minorThanks: David Hotham[DESCRIPTION]Fix parser to work with newer versions of GCC compiler.[ENTRY]Module: supportWhat: newRank: minor[DESCRIPTION]Added an abstraction RunJobs for executing several jobs inparallel (not officially supported).[ENTRY]Module: floatWhat: newRank: minor[DESCRIPTION]Added if-then-else constraint (called ite) also for floatvariables.[ENTRY]Module: setWhat: newRank: minor[DESCRIPTION]Added if-then-else constraint (called ite) also for setvariables.[ENTRY]Module: intWhat: newRank: minor[DESCRIPTION]Added if-then-else constraint (called ite) also for Booleanvariables.[ENTRY]Module: intWhat: newRank: minor[DESCRIPTION]Relations between arrays now support also a mix between integer(or Boolean) variable array and integer array.[ENTRY]Module: otherWhat: changeRank: minor[DESCRIPTION]Enable C++11 standard on compilers that need an explicit switch. Can beswitched off using --disable-cpp11 during configuration.[RELEASE]Version: 5.0.0Date: 2016-10-25[DESCRIPTION]This release adds a number of new features and fixes many bugs(some rather serious), so it is recommended to switch as soon aspossible to this release. Some highlights are: re-added limiteddiscrepancy search (LDS); added sequential and parallelportfolio-based search (PBS); added support for groups ofpropagators and branchers; added extensive tracing functionalitybased on groups; propagators can be disabled and re-enabled;support for arbitrary memory allocators; changed the notion of"integer consistency level" to the more expressive concept"integer propagation level".It is recommended to read the new Chapter in MPG on groups andtracing.As the interfaces has changed, please consult\ref PageHowToChange_5 "How to Change to Gecode 5.0.0".[ENTRY]Module: setWhat: bugRank: minor[DESCRIPTION]Fixed some idempotency problems in the n-ary union and weight propagators.[ENTRY]Module: floatWhat: newRank: minor[DESCRIPTION]Added relax() function for relaxed assignment of float variablesfrom a previous solution, see MPG for details.[ENTRY]Module: setWhat: newRank: minor[DESCRIPTION]Added relax() function for relaxed assignment of set variablesfrom a previous solution, see MPG for details.[ENTRY]Module: intWhat: newRank: minor[DESCRIPTION]Added relax() function for relaxed assignment of integer andBoolean variables from a previous solution, see MPG for details.[ENTRY]Module: driverWhat: newRank: minor[DESCRIPTION]The probability for relaxing variables in LNS can be passed withthe -relax commandline option.[ENTRY]Module: intWhat: bugRank: majorThanks: Roberto Castañeda Lozano[DESCRIPTION]The domain consistent dom() constraint for integer ranges wasonly bounds consistent...[ENTRY]Module: minimodelWhat: bugRank: minorThanks: Matthias Balzer[DESCRIPTION]Export BoolExpr::Misc for linking.[ENTRY]Module: kernelWhat: changeRank: minorThanks: Matthias Balzer[DESCRIPTION]Do not declare new and delete of ArgArrayBase as private tosupport the use of placement new.[ENTRY]Module: driverWhat: newRank: minor[DESCRIPTION]The discrepancy limit for Limited Discrepancy Search (LDS) can bepassed with the -d-l commandline option.[ENTRY]Module: searchWhat: newRank: major[DESCRIPTION]Limited Discrepancy Search (LDS) added. Please see MPG fordetails.[ENTRY]Module: flatzincWhat: bugRank: majorThanks: Mats Carlsson[DESCRIPTION]Fix the FlatZinc parser for cases where variables were aliased to a fixedvariable.[ENTRY]Module: kernelWhat: bugRank: majorThanks: Matthias Balzer[DESCRIPTION]Fixed memory leak for regions (occured for many large allocationrequests).[ENTRY]Module: floatWhat: bugRank: majorThanks: Filip Konvicka[DESCRIPTION]Enable optimized rounding only if MSVC does not use SSE,otherwise things really go wrong (necessary for MSVC 2015).[ENTRY]Module: kernelWhat: newRank: minor[DESCRIPTION]Added additional propagation cost level record() which isreserved for propagators that record information but do notpropagate.[ENTRY]Module: floatWhat: newRank: minor[DESCRIPTION]Added channeling constraint between float and Boolean variable.[ENTRY]Module: floatWhat: bugRank: minorThanks: Matthias Balzer[DESCRIPTION]FloatValArgs erroneously inherited from PrimArgArray, now itinherits from ArgArray.[ENTRY]Module: minimodelWhat: bugRank: minorThanks: Matthias Balzer[DESCRIPTION]Fixed memory leak in constructor for Boolean element expression.[ENTRY]Module: minimodelWhat: bugRank: minorThanks: Matthias Balzer[DESCRIPTION]Fixed special case handling for sqr and pow functions.[ENTRY]Module: minimodelWhat: bugRank: minorThanks: Matthias Balzer[DESCRIPTION]Removed bogus declarations of comparison operators betweenBoolean variables and float expressions.[ENTRY]Module: kernelWhat: newRank: minor[DESCRIPTION]Propagators and branchers now have a fixed identity available byid() member functions.[ENTRY]Module: kernelWhat: newRank: minorThanks: Gilles Pesant[DESCRIPTION]Added an iterator SubscribedPropagators that iterates over thesubscribed propagators of views and variable implementations.[ENTRY]Module: kernelWhat: changeRank: minorThanks: Mirko Rahn[DESCRIPTION]Do not use local classes as this would require C++-11.[ENTRY]Module: intWhat: bugRank: minor[DESCRIPTION]Fix n-ary lq/le propagator when used on arrays with variables occurringmultiply.[ENTRY]Module: kernelWhat: removedRank: major[DESCRIPTION]Removed brancher handles, they are subsumed by brancher groups.[ENTRY]Module: otherWhat: bugRank: minor[DESCRIPTION]Fixed many small quirks in propagator rewriting, where theinformation on which propagator is rewritten was omitted.[ENTRY]Module: driverWhat: newRank: minor[DESCRIPTION]Trace flags can be passed on the commandline.[ENTRY]Module: floatWhat: newRank: major[DESCRIPTION]Added support for tracing propagation, please see MPG for details.[ENTRY]Module: setWhat: newRank: major[DESCRIPTION]Added support for tracing propagation, please see MPG for details.[ENTRY]Module: intWhat: newRank: major[DESCRIPTION]Added support for tracing propagation, please see MPG for details.[ENTRY]Module: kernelWhat: newRank: major[DESCRIPTION]Added support for tracing propagation, please see MPG for details.[ENTRY]Module: kernelWhat: newRank: major[DESCRIPTION]All constraint post functions should now use the macroGECODE_POST at their start: it will check for failure but alsowill set group information useful for tracing.[ENTRY]Module: kernelWhat: bugRank: minor[DESCRIPTION]Some Gecode macros made the assumption that they can only be usedinside the Gecode namespace. Fixed.[ENTRY]Module: kernelWhat: newRank: major[DESCRIPTION]Added groups of branchers (class BrancherGroup) by whichgroups of branchers can be controlled. See MPG for details.[ENTRY]Module: kernelWhat: newRank: major[DESCRIPTION]Added groups of propagators (class PropagatorGroup) by whichgroups of propagators can be controlled. See MPG for details.[ENTRY]Module: kernelWhat: newRank: major[DESCRIPTION]Propagators can now be disabled and enabled (throughPropagatorGroups). See MPG for details.[ENTRY]Module: kernelWhat: newRank: major[DESCRIPTION]All propagators must implement a virtual member functionreschedule() that can be used to reschedule a propagator accordingto its subscriptions. See MPG for more details.[ENTRY]Module: kernelWhat: newRank: major[DESCRIPTION]All variable implementation must implement an additionalreschedule() function that can be used to reschedule a propagatoraccording to its subscriptions. See MPG for more details.[ENTRY]Module: kernelWhat: changeRank: minor[DESCRIPTION]The iterators over all propagators and branchers of a space arenot any longer accessible. Please use group iterators instead.[ENTRY]Module: kernelWhat: changeRank: minor[DESCRIPTION]The member functions propagators() and branchers() of the classSpace have been removed as they can be expressed with groups.[ENTRY]Module: otherWhat: bugRank: minorThanks: Mirko Rahn[DESCRIPTION]Made copy constructor for search engines private to triggercompiler error when trying to copy a search engine.[ENTRY]Module: otherWhat: bugRank: minorThanks: Mirko Rahn[DESCRIPTION]Fixed some linking issues for static linking.[ENTRY]Module: supportWhat: newRank: major[DESCRIPTION]Gecode supports now arbitrary memory allocators (the behavior canbe controlled by the commandline options -enable-allocator and-disable-allocator). For more details, please see MPG.[ENTRY]Module: kernelWhat: changeRank: minorThanks: Conrad Drescher[DESCRIPTION]Added destructor to NGL class to avoid warnings.[ENTRY]Module: kernelWhat: bugRank: minorThanks: Matthias Balzer[DESCRIPTION]Fixed wrong type declaration in region_allocator::deallocate().[ENTRY]Module: floatWhat: bugRank: minorThanks: Conrad Drescher, Patrick Berg[DESCRIPTION]Fixed two infinite recursion bugs in related to use of hull().[ENTRY]Module: flatzincWhat: bugRank: minor[DESCRIPTION]Add missing declaration for bool_clause_reif builtin.[ENTRY]Module: flatzincWhat: bugRank: minorThanks: Tommy Persson[DESCRIPTION]FlatZinc interpreter now does not try to post constraints if there was asyntax error during parsing.[ENTRY]Module: minimodelWhat: bugRank: minorThanks: Roberto Castañeda Lozano, Matthias Balzer[DESCRIPTION]Fixed posting of Boolean element expressions and relations.[ENTRY]Module: minimodelWhat: bugRank: minorThanks: Joseph Scott[DESCRIPTION]Fixed printing of regular expressions.[ENTRY]Module: intWhat: newRank: minor[DESCRIPTION]Added distinct-except-constant constraint.[ENTRY]Module: intWhat: newRank: minor[DESCRIPTION]Added distinct with optional variables.[ENTRY]Module: flatzincWhat: changeRank: minor[DESCRIPTION]Add support for the alldifferent_except_0 constraint by rewriting to aglobal cardinality constraint.[ENTRY]Module: flatzincWhat: changeRank: minor[DESCRIPTION]The simple LNS using relax_and_reconstruct can now take an optional thirdargument that is used as an initial solution.[ENTRY]Module: searchWhat: changeRank: minor[DESCRIPTION]The restart meta search engine must be used with thebranch-and-bound engine for best solution search.[ENTRY]Module: searchWhat: changeRank: minor[DESCRIPTION]For meta search engines, the order of template arguments has beenchanged: the first is the script type, the second is the enginetype.[ENTRY]Module: kernelWhat: newRank: minor[DESCRIPTION]All branchers of a space can be killed byBrancherGroup::all.kill(home). This is the default for the master()function when using portfolio search.[ENTRY]Module: kernelWhat: newRank: major[DESCRIPTION]The clone() function takes an additional optional argument that defineswhether AFC information is shared among clones.[ENTRY]Module: driverWhat: newRank: minor[DESCRIPTION]The number of assets to use for portfolio-based search can bepassed on the commandline as -assets.[ENTRY]Module: searchWhat: newRank: major[DESCRIPTION]Portfolio-based search has been added (both sequential andparallel). Please see "Modeling and Programming with Gecode" fordetails.[ENTRY]Module: kernelWhat: changeRank: major[DESCRIPTION]The master() and slave() configuration functions has been changedas they are now also used for portfolio-based search. Please see"Modeling and Programming with Gecode" for details.[ENTRY]Module: supportWhat: newRank: minor[DESCRIPTION]Classes can now inherit from HeapAllocated when using the Gecodeheap object for memory management.[ENTRY]Module: searchWhat: bugRank: minor[DESCRIPTION]The restart engine would not properly delete some data structureswhen being deleted.[ENTRY]Module: intWhat: newRank: minor[DESCRIPTION]Added some additional propagation to circuit and pathconstraints, based on: Kathryn Glenn Francis, Peter Stuckey,Explaining Circuit Propagation, Constraints (2014) 19:1-29.[ENTRY]Module: kernelWhat: newRank: minorThanks: Joseph Scott[DESCRIPTION]Missing = SUBSCRIBE annotations for modification events areproperly reported.[ENTRY]Module: intWhat: newRank: major[DESCRIPTION]The unary constraint now can also perform time-tabling propagation.[ENTRY]Module: intWhat: newRank: major[DESCRIPTION]The level of propagation of the cumulative constraint can now becontrolled via the integer propagation level argument. Pleaseconsult Modeling and Programming with Gecode for details.[ENTRY]Module: intWhat: newRank: major[DESCRIPTION]The level of propagation of the unary constraint can now becontrolled via the integer propagation level argument. Pleaseconsult Modeling and Programming with Gecode for details.[ENTRY]Module: intWhat: changeRank: minor[DESCRIPTION]The selection for extensional table constraints whether tooptimize for speed or memory is now controlled by the integerpropagation level argument. The old argument of typeExtensionalPropKind has been removed (the type has been removedas well).[ENTRY]Module: driverWhat: changeRank: major[DESCRIPTION]The commandline option -icl (for integer consistency level) hasbeen replaced by -ipl (for integer propagation level). All newlevels can be specified by a comma separated list as argument to-ipl.[ENTRY]Module: intWhat: changeRank: major[DESCRIPTION]The integer consistency level (IntConLevel) has been renamed tointeger propagation level (IntPropLevel). Additional levels forspeed, memory, basic, and advanced propagation have been added.See Modeling and Programming with Gecode for details.[ENTRY]Module: intWhat: bugRank: majorThanks: Kish Shen[DESCRIPTION]The count constraint with INT_GR relation was broken (off-by-one error).[ENTRY]Module: exampleWhat: changeRank: minorThanks: Ananja Muddukrishna[DESCRIPTION]The bin-packing model did not use a best-fit solution for theupper bound, but only a first-fit.[ENTRY]Module: intWhat: performanceRank: minorThanks: Kish Shen[DESCRIPTION]Some count constraints are now optimized in case its arguments areassigned.[ENTRY]Module: otherWhat: changeRank: minor[DESCRIPTION]Compiles with Visual Studio 2015.[ENTRY]Module: intWhat: bugRank: minorThanks: Kish Shen[DESCRIPTION]The binpacking constraint works even if all items are of size zero.[ENTRY]Module: intWhat: bugRank: minorThanks: Kish Shen[DESCRIPTION]Constrain bin variables even for zero-sized items in binpacking constraint.[ENTRY]Module: flatzincWhat: bugRank: minor[DESCRIPTION]Fix a bug in the parser when parsing float variable domains.[ENTRY]Module: intWhat: newRank: minorThanks: Kish Shen[DESCRIPTION]Added variant of argmin and argmax with offset.[ENTRY]Module: flatzincWhat: changeRank: minorThanks: Pete Nightingale[DESCRIPTION]Make bounds propagation the default for global cardinality constraintsin FlatZinc.[ENTRY]Module: flatzincWhat: changeRank: minor[DESCRIPTION]Add support for generating the FlatZinc parser using bison version 3.[ENTRY]Module: flatzincWhat: bugRank: majorThanks: Andrea Rendl[DESCRIPTION]Fix branching on introduced variables, which could sometimes lead tounassigned variables appearing in the output.[ENTRY]Module: flatzincWhat: bugRank: minorThanks: Jean-Noël Monette[DESCRIPTION]Improve error messages in FlatZinc for some type errors.[RELEASE]Version: 4.4.0Date: 2015-03-20[DESCRIPTION]This release fixes some bugs and improves some search-related aspects.Note that you will have to change all scripts that inherit fromthe pre-defined script classes (Script, IntMinimizeScript,IntMaximizeScript, FloatMinimizeScript, FloatMaximizeScript). Thechange is easy: in your constructor you have to add a call to theconstructor of the pre-defined script class with the command lineoptions as argument. Just check any of the Gecode example for howit is done.[ENTRY]Module: flatzincWhat: newRank: minorThanks: Mark Manser[DESCRIPTION]An option -step now can pass an improvement step foroptimization of float problems.[ENTRY]Module: driverWhat: changeRank: major[DESCRIPTION]All scripts now must call the constructor of their base classwith an option argument.Note that you will have to change your models by a call to theconstructor of the script class with an option argument![ENTRY]Module: driverWhat: newRank: minorThanks: Mark Manser[DESCRIPTION]An option -step now can pass an improvement step to scripts oftype FloatMinimizeScript and FloatMaximizeScript.[ENTRY]Module: minimodelWhat: newRank: minorThanks: Mark Manser[DESCRIPTION]The classes FloatMinimizeSpace and FloatMaximizeSpace can becreated with an improvement step for optimization.[ENTRY]Module: flatzincWhat: bugRank: minorThanks: Ahmed Kamal[DESCRIPTION]Added support for missing builtins array_float_element(by decomposition), float_lin_lt and float_lin_lt_reif.[ENTRY]Module: searchWhat: newRank: minor[DESCRIPTION]Added functions to Stop class that can create common stop objects.[ENTRY]Module: searchWhat: newRank: minor[DESCRIPTION]Exposed class definitions for common cutoff generators.[ENTRY]Module: flatzincWhat: bugRank: minorThanks: Håkan Kjellerstrand[DESCRIPTION]LNS could fail when the search was restarted before finding the first solution.[ENTRY]Module: searchWhat: bugRank: majorThanks: Håkan Kjellerstrand[DESCRIPTION]Fix memory leak in the DFS and BAB search engines that could make restart-basedsearch run out of memory very quickly.[ENTRY]Module: driverWhat: newRank: minor[DESCRIPTION]Added option -seed for passing a seed to random number generators.[ENTRY]Module: exampleWhat: newRank: minor[DESCRIPTION]Added quasigroup completion benchmarks.[ENTRY]Module: searchWhat: performanceRank: minor[DESCRIPTION]Delay efforts for restarting until it is really needed after asolution has been found.[RELEASE]Version: 4.3.3Date: 2015-01-20[DESCRIPTION]This release adds support for LNS to FlatZinc, adds support forMiniZinc 2, fixes a number of bugs and some new constraints.[ENTRY]Module: flatzincWhat: newRank: minor[DESCRIPTION]Added support for arg_min and arg_max constraints.[ENTRY]Module: intWhat: newRank: minor[DESCRIPTION]Added argmin and argmax constraints.[ENTRY]Module: searchWhat: bugRank: majorThanks: Zichen Zhu[DESCRIPTION]Now no-goods are extracted properly in case a solution is found.[ENTRY]Module: flatzincWhat: changeRank: minor[DESCRIPTION]Add support for the MiniZinc 2 min/max builtins. The Gecode MiniZinc libraryis now compatible with both MiniZinc 1.6 and 2.0.[ENTRY]Module: searchWhat: changeRank: minor[DESCRIPTION]Change the slave function for meta search engines to return whether the searchin the slave is going to be complete. This is necessary for example in LNS,where completing the search in the slave does not mean that the overall searchis finished.[ENTRY]Module: flatzincWhat: newRank: major[DESCRIPTION]Make a simple form of LNS accessible from FlatZinc. To use it, includegecode.mzn and add the relax_and_reconstruct search annotation defined inthat file.[ENTRY]Module: setWhat: bugRank: minorThanks: Farshid Hassani Bijarbooneh[DESCRIPTION]The channeling propagator between a SetVar and an array of BoolVarspropagated incorrectly when posted on a fixed SetVar.[ENTRY]Module: flatzincWhat: newRank: minor[DESCRIPTION]Support dom_w_deg search annotation.[ENTRY]Module: flatzincWhat: changeRank: minor[DESCRIPTION]Search on objective function variable after all other variables (butstill before introduced variables).[ENTRY]Module: flatzincWhat: bugRank: minorThanks: Mats Carlsson[DESCRIPTION]Fix special case detection for cumulatives constraint, could sometimesincorrectly turn a cumulatives into a disjunctive constraint.[ENTRY]Module: flatzincWhat: bugRank: minorThanks: Björn Böttcher[DESCRIPTION]Fix behavior of -a command line option for satisfaction problems.[ENTRY]Module: flatzincWhat: bugRank: minorThanks: Chris Mears[DESCRIPTION]Fix default search annotation for float objectives.[ENTRY]Module: flatzincWhat: bugRank: minorThanks: Willem Van Onsem[DESCRIPTION]Install parser.tab.hh header.[ENTRY]Module: flatzincWhat: newRank: minor[DESCRIPTION]Add support for gecode_schedule_cumulative_optional constraint.[RELEASE]Version: 4.3.2Date: 2014-11-06[DESCRIPTION]Fixed major bug in and added extensive tests for the FlatZincinterpreter. If you are using Gecode with FlatZinc you shoulddefinitely upgrade![ENTRY]Module: testWhat: newRank: major[DESCRIPTION]Added long-overdue tests for the FlatZinc interpreter.[ENTRY]Module: otherWhat: bugRank: minorThanks: Alex Elliott[DESCRIPTION]Fix cmake build file to work better when building with Qt.[ENTRY]Module: flatzincWhat: bugRank: majorThanks: Jean-Noël Monette[DESCRIPTION]Fixed major bug that would cause the FlatZinc interpreter to crashon most models.[RELEASE]Version: 4.3.1Date: 2014-10-22[DESCRIPTION]This release fixes some minor issues and a major bug for theFlatZinc interpreter. It considerably extends restart-basedsearch so that it supports LNS (Large Neighborhood Search).[ENTRY]Module: searchWhat: changeRank: major[DESCRIPTION]The restart-based search engine has been made more powerful: themaster() and slave() configuration functions have been extendedand get more information about each restart and the engine alwaysmaintains the last solution found. In particulae, the engine isnow powerful enough to support LNS (Large NeighborhoodSearch). For details, please see MPG.[ENTRY]Module: searchWhat: changeRank: minor[DESCRIPTION]The interface of cutoff generators has been extended in that itnow offers current value access (operator()()) as well asincrement (operator++()).[ENTRY]Module: searchWhat: newRank: minor[DESCRIPTION]Added a cutoff generator that merges the values of two cutoff generators.[ENTRY]Module: otherWhat: bugRank: minorThanks: Pierre Talbot[DESCRIPTION]Gecode can now be used together with boost without conflicts.[ENTRY]Module: otherWhat: newRank: minorThanks: Petter Strandmark[DESCRIPTION]Added support for building examples with CMake.[ENTRY]Module: minimodelWhat: bugRank: minorThanks: Léonard Benedetti[DESCRIPTION]Removed potentially undefined behavior for regular expressions.[ENTRY]Module: flatzincWhat: bugRank: majorThanks: Mats Carlsson[DESCRIPTION]Fixed FlatZinc aliasing detection on array variables thatintroduced incorrect aliases between variables.[ENTRY]Module: flatzincWhat: bugRank: minorThanks: Frank Imeson[DESCRIPTION]Fixed parser for integer literals to generate error message whenintegers are out of bounds.[ENTRY]Module: flatzincWhat: bugRank: minorThanks: Peter Nightingale[DESCRIPTION]Fixed the FlatZinc interpreter to accept empty arrays as arguments inannotations.[ENTRY]Module: flatzincWhat: bugRank: minorThanks: Carleton Coffrin[DESCRIPTION]Fixed the behaviour for the -n and -a command line options foroptimisation models.[RELEASE]Version: 4.3.0Date: 2014-08-28[DESCRIPTION]This release fixes a large number of both minor and major bugs,has some improvements for FlatZinc, and adds multi-dimensionalbin-packing.[ENTRY]Module: otherWhat: bugRank: minorThanks: Victor Zverovich, Tony Kelman[DESCRIPTION]Various fixes for CMake: - Set the output directory for runtime target files (executables and DLLs) to bin/ subdirectory of the project's binary directory to avoid collisions when Gecode is used as a subproject.Improve suppression of warnings. - Add GECODE_USE_QT variable which specifies whether to use Qt. Qt is used if GECODE_USE_QT is TRUE or unset. - Prevent linker warnings on MSVC. - Use per-target instead of global include directories. This simplifies use of Gecode as a subproject because add_target_libraries(<target> <gecode-lib>) now sets the necessary include directories for <target> in addition to link dependencies. - Fix to fully link internal dependencies needed for creating DLLs: https://github.com/ampl/gecode/pull/2 .[ENTRY]Module: flatzincWhat: changeRank: minor[DESCRIPTION]The --free command line option has been renamed to -f to comply with otherFlatZinc solvers.[ENTRY]Module: flatzincWhat: performanceRank: minor[DESCRIPTION]The diffn constraint now posts additional implied cumulative constraintsto strengthen propagation.[ENTRY]Module: flatzincWhat: bugRank: minor[DESCRIPTION]Added unshare constraints to all constraints that need them. Without unsharing,variables occurring multiply in the same FlatZinc arrays could lead to theFlatZinc interpreter aborting with an error.[ENTRY]Module: flatzincWhat: performanceRank: minor[DESCRIPTION]Treat equality constraints in FlatZinc as aliases instead of postingpropagators, and post simple domain constraints before more complexpropagators to help post the most efficient versions.[ENTRY]Module: exampleWhat: newRank: minorThanks: Stefano Gualandi, Brian Kell, Willem-Jan Van Hoeve[DESCRIPTION]Added example for multi-dimensional bin-packingconstraint. Thanks to Brian and Willem-Jan for allowing us to usetheir data set.[ENTRY]Module: intWhat: newRank: majorAuthor: Stefano Gualandi[DESCRIPTION]Added multi-dimensional bin-packing constraint.[ENTRY]Module: kernelWhat: changeRank: minorThanks: Kish Shen[DESCRIPTION]Allow 0.0 as decay value.[ENTRY]Module: otherWhat: bugRank: minorThanks: Roland Stigge[DESCRIPTION]Added patch for PowerPC (downstream patch from Debian).[ENTRY]Module: otherWhat: bugRank: minorThanks: David Rijsman[DESCRIPTION]Added missing boost header files.[ENTRY]Module: testWhat: bugRank: minorThanks: Victor Zverovich[DESCRIPTION]Removed uninitialized access.[ENTRY]Module: setWhat: bugRank: minorThanks: Victor Zverovich[DESCRIPTION]Removed compiler warning.[ENTRY]Module: floatWhat: bugRank: minorThanks: Victor Zverovich[DESCRIPTION]Removed compiler warning.[ENTRY]Module: flatzincWhat: bugRank: minorThanks: Victor Zverovich[DESCRIPTION]Fixed FlatZinc interpreter to compile with clang in C++11 mode.[ENTRY]Module: intWhat: bugRank: minorThanks: Bauke Conijn[DESCRIPTION]Re-enabled parts of not-first-not-last propagation for unary withoptional tasks.[ENTRY]Module: flatzincWhat: bugRank: minor[DESCRIPTION]Catch exceptions and print proper error message.[ENTRY]Module: minimodelWhat: bugRank: major[DESCRIPTION]Fixed posting of set relations involving constants.[ENTRY]Module: intWhat: bugRank: majorThanks: Roberto Castañeda Lozano, Gabriel Hjort Blindell[DESCRIPTION]In extremely rare cases, the bounds-consistent distinct (andhence all other distinct propagators as they use thebounds-consistent one internally) propagator could suffer fromnumerical overflow.[ENTRY]Module: kernelWhat: bugRank: minorThanks: Roberto Castañeda Lozano[DESCRIPTION]The function brancher did not return a handle.[ENTRY]Module: intWhat: bugRank: minorThanks: Duane Leslie[DESCRIPTION]No-good literals for greater-or-equal did not prune as much as they should.[RELEASE]Version: 4.2.1Date: 2013-11-05[DESCRIPTION]This release fixes several major bugs and adds some minorimprovements.[ENTRY]Module: otherWhat: changeRank: minor[DESCRIPTION]Compiles with MSVC 2013.[ENTRY]Module: searchWhat: bugRank: majorThanks: Roberto Castañeda Lozano[DESCRIPTION]Fix for restart-based search when the master does not have a branching.[ENTRY]Module: searchWhat: bugRank: majorThanks: Roberto Castañeda Lozano[DESCRIPTION]Restart-based search did not work when the cutoff limit did notstrictly increase.[ENTRY]Module: searchWhat: newRank: minorThanks: Roberto Castañeda Lozano[DESCRIPTION]Added support for a repeat cutoff generator.[ENTRY]Module: intWhat: performanceRank: minorThanks: Anne Meyer[DESCRIPTION]Fix performance of domain consistent element for the case that the resultvariable is assigned.[ENTRY]Module: intWhat: bugRank: majorThanks: Bauke Conijn[DESCRIPTION]Fixed incorrect propagation in sortedness with permutation variables.[ENTRY]Module: intWhat: bugRank: majorThanks: Duane Leslie[DESCRIPTION]Fixed cumulative constraint for 0-usage tasks.[ENTRY]Module: intWhat: bugRank: majorThanks: Duane Leslie[DESCRIPTION]Fixed special case check for cumulative that would wrongly classifysome instances as disjunctive.[ENTRY]Module: intWhat: bugRank: majorThanks: Kish Shen[DESCRIPTION]The nroot constraint now propagates correctly for negativenumbers when the exponent is odd.[ENTRY]Module: otherWhat: bugRank: minor[DESCRIPTION]Fix CMake to also build FlatZinc and Driver correctly.[ENTRY]Module: flatzincWhat: bugRank: minor[DESCRIPTION]Fixed bug in auxiliary variable branching.[ENTRY]Module: minimodelWhat: newRank: minorThanks: Philippe Kezirian[DESCRIPTION]The sum of IntArgs can now be computed similarly to the sum ofIntVarArgs.[ENTRY]Module: kernelWhat: newRank: minorThanks: Kish Shen[DESCRIPTION]Activity information can now be initialized with a branch merit function.[ENTRY]Module: intWhat: newRank: minorThanks: Kish Shen[DESCRIPTION]Activity information can now be initialized with a branch merit function.[ENTRY]Module: setWhat: newRank: minorThanks: Kish Shen[DESCRIPTION]Activity information can now be initialized with a branch merit function.[ENTRY]Module: floatWhat: newRank: minorThanks: Kish Shen[DESCRIPTION]Activity information can now be initialized with a branch merit function.[RELEASE]Version: 4.2.0Date: 2013-07-19[DESCRIPTION]This release adds no-goods from restarts, removes memorystatistics (but Gecode can be configured for more accuratestatistics), and fixes a number of bugs.[ENTRY]Module: iterWhat: bugRank: minorThanks: Farshid Hassani Bijarbooneh, Joseph Scott[DESCRIPTION]Fixed segfault in NaryUnion iterator.[ENTRY]Module: kernelWhat: newRank: minor[DESCRIPTION]Added configure switch --enable-peakheap that adds support formemory statistics to the kernel. This comes with a runtime overhead,but provides more accurate information than the previous searchengine based statistics.[ENTRY]Module: searchWhat: removedRank: major[DESCRIPTION]Removed memory statistics from the search engines. The reason isthat the figures were too inaccurate (memory for shared datastructure, caches, etc were not counted) and computing thefigures was complicated. This feature is replaced by a configureswitch that enables peak memory tracking based on operating systeminformation.[ENTRY]Module: kernelWhat: changeRank: minorThanks: Kish Shen[DESCRIPTION]Low-level support for AFC is now public.[ENTRY]Module: searchWhat: newRank: minor[DESCRIPTION]Search options have an additional field nogoods_limit thatdefines too which depth a search tree is inspected for no-goods.[ENTRY]Module: kernelWhat: changeRank: minor[DESCRIPTION]The master() member function used during restart-based search nowtakes an additional no-goods argument. The default master()function posts no-goods (only effective when enabled inSearch::Options). See MPG for details.[ENTRY]Module: driverWhat: newRank: minor[DESCRIPTION]When using restart-based search, the use of no-goods fromrestarts can be switched on/off with the -nogoods command lineoption and the depth limit for extraction of no-goods with the-nogoods-limit command line option.[ENTRY]Module: searchWhat: newRank: major[DESCRIPTION]Added support for no-goods from restarts, see Modeling andProgramming with Gecode for details.Note that also entails that the statistics will report differenta different peak depth than in previous releases of Gecode whenusing no-goods.[ENTRY]Module: flatzincWhat: newRank: minor[DESCRIPTION]Added support for value_precede_int and value_precede_set constraints.[ENTRY]Module: flatzincWhat: bugRank: majorThanks: Chris Mears[DESCRIPTION]Fixed a memory leak in FlatZincSpace and a few more in the FlatZincparser.[ENTRY]Module: flatzincWhat: bugRank: minorThanks: Chris Mears[DESCRIPTION]Fixed a bug in implicit search heuristic that could lead to asegmentation fault when minimizing an array element.[ENTRY]Module: otherWhat: bugRank: minorThanks: Victor Zverovich[DESCRIPTION]Fixes link error for CMake with MSVC.[RELEASE]Version: 4.1.0Date: 2013-07-01[DESCRIPTION]This release adds a really useful feature and the requiredinfrastructure to Gist (it now can show information on thealternatives in a search tree), has some new features, and fixesquite a number of bugs (some of which are quite serious, inparticular for: LDSB, restart-based search, and FlatZinc).[ENTRY]Module: driverWhat: bugRank: minorThanks: Vincent Barichard[DESCRIPTION]Fixed a race condition when using parallel search.[ENTRY]Module: setWhat: bugRank: minor[DESCRIPTION]Fixed SET_VAR_ACTIVITY_SIZE_MIN/MAX, which used to computesize/activity instead of activity/size.[ENTRY]Module: kernelWhat: performanceRank: minor[DESCRIPTION]Implement the AFC search heuristic using FastMutex, which greatlyimproves parallel search performance on Mac OS X when using AFC.[ENTRY]Module: supportWhat: newRank: minor[DESCRIPTION]Added FastMutex class that is implemented using spin locks onsome platforms.[ENTRY]Module: intWhat: bugRank: minorThanks: Victor Zverovich[DESCRIPTION]Fixed INT_VALUES_MAX() branching (INT_VALUES_MIN() was used instead).[ENTRY]Module: floatWhat: bugRank: minor[DESCRIPTION]Fixed FLOAT_VAR_ACTIVITY_SIZE_MIN/MAX, which used to computesize/activity instead of activity/size.[ENTRY]Module: exampleWhat: newRank: minorThanks: Stefano Gualandi[DESCRIPTION]Added LDSB-based symmetry breaking to graph coloring example.[ENTRY]Module: flatzincWhat: bugRank: minorThanks: Peter Nightingale[DESCRIPTION]Fixed printing of float variables to be compatible with MiniZinc output.[ENTRY]Module: flatzincWhat: bugRank: minorThanks: Peter Nightingale[DESCRIPTION]Fixed a segmentation fault when using FlatZinc with float variablesthat have initializers.[ENTRY]Module: setWhat: bugRank: majorThanks: Stefano Gualandi[DESCRIPTION]Fixed crash due to combination of LDSB and Activity.[ENTRY]Module: intWhat: bugRank: majorThanks: Stefano Gualandi[DESCRIPTION]Fixed crash due to combination of LDSB and Activity.[ENTRY]Module: intWhat: bugRank: major[DESCRIPTION]The internal representation of integer variable domains could leakmemory to the space.[ENTRY]Module: flatzincWhat: newRank: major[DESCRIPTION]The FlatZinc interpreter now supports float variables as objectivefunctions.[ENTRY]Module: gistWhat: newRank: major[DESCRIPTION]Gist now can show information on the alternatives in a search tree,using the new menu options "Label branches" and "Label path".[ENTRY]Module: floatWhat: bugRank: minor[DESCRIPTION]Random value selection for float branchings was not declared withthe right types.[ENTRY]Module: setWhat: newRank: major[DESCRIPTION]Set branchings now take an optional argument for auser-defined print function. See MPG for details.[ENTRY]Module: floatWhat: newRank: major[DESCRIPTION]Float branchings now take an optional argument for auser-defined print function. See MPG for details.[ENTRY]Module: intWhat: newRank: major[DESCRIPTION]Integer and Boolean branchings now take an optional argument for auser-defined print function. See MPG for details.[ENTRY]Module: kernelWhat: newRank: major[DESCRIPTION]Branchers now support a print() member function.[ENTRY]Module: flatzincWhat: newRank: minor[DESCRIPTION]Added {int,bool,set,float}_default_search annotations. These can be usedon solve items to declare the default search strategy for the respectivevariable types.[ENTRY]Module: minimodelWhat: bugRank: minorThanks: Roberto Castañeda Lozano[DESCRIPTION]Boolean expressions could lead to a segfault when initializedwith default constructor.[ENTRY]Module: kernelWhat: newRank: minor[DESCRIPTION]Both AFC and Activity can be changed by a set() function.[ENTRY]Module: intWhat: newRank: minor[DESCRIPTION]Added if-then-else constraint (called ite) for integer variables.[ENTRY]Module: driverWhat: newRank: minorThanks: Pascal Francq[DESCRIPTION]Added classes FloatMinimizeScript and FloatMaximizeScript forcost-based optimization with a float cost variable.[ENTRY]Module: driverWhat: changeRank: minor[DESCRIPTION]Added classes IntMinimizeScript and IntMaximizeScript forcost-based optimization with an integer cost variable. While theclasses MinimizeScript and MaximizeSpcript are still available,there use is deprecated and a later release might remove them.[ENTRY]Module: intWhat: changeRank: minor[DESCRIPTION]Added classes IntMinimizeSpace and IntMaximizeSpace forcost-based optimization with an integer cost variable. While theclasses MinimizeSpace and MaximizeSpace are still available,there use is deprecated and a later release might remove them.[ENTRY]Module: floatWhat: newRank: minorThanks: Pascal Francq[DESCRIPTION]Added classes FloatMinimizeSpace and FloatMaximizeSpace forcost-based optimization with a float cost variable.[ENTRY]Module: flatzincWhat: bugRank: minor[DESCRIPTION]Fixed the random search strategies to all use the same random numbergenerator instead of different generators all initialised with the sameseed (and therefore all producing the same sequences).[ENTRY]Module: flatzincWhat: newRank: minorThanks: Tias Guns[DESCRIPTION]Added int2float constraint which was missing in the FlatZincinterpreter.[ENTRY]Module: intWhat: bugRank: minorThanks: David Rijsman[DESCRIPTION]Fixed binpacking crash when the b and s arrays are empty.[ENTRY]Module: otherWhat: changeRank: minorThanks: Cliff Yapp[DESCRIPTION]CMake build system tweaked for out-of-source-dir building.[ENTRY]Module: floatWhat: bugRank: minorThanks: Duong Khanh Chuong[DESCRIPTION]Fixed missing propagation in reified rel-constraints.[ENTRY]Module: searchWhat: bugRank: majorThanks: Chris Mears, Roberto Castañeda Lozano[DESCRIPTION]Fixed a bug in restart-based search, which would crash if theproblem is failed at the root or only had a single solutionduring best-solution search.[RELEASE]Version: 4.0.0Date: 2013-03-14[DESCRIPTION]This release adds a multitude of new features, fixes many bugs,and offers a number of performance improvements. There are toomany major improvements to even summarize them here all, so hereare just some highlights: LDSB as automatic symmetry breakingduring search; restart-based search; complete redesign andreimplementation of branching enhancing the expressivenessmassively (AFC with decay, activity, user-defined variable andvalue selection, tie-break control, better randomization, ...);half-reification; addition of floating point constraints.It is recommended to read the new Chapter in MPG on branching asthe changes are substantial and require you to change yourprograms, see also the full list of changes below.As the interfaces has changed, please consult \refPageHowToChange_4 "How to Change to Gecode 4.0.0".[ENTRY]Module: flatzincWhat: changeRank: minor[DESCRIPTION]Renamed the FlatZinc executable to fzn-gecode, to better distinguishit when installed alongside other FlatZinc implementations.[ENTRY]Module: intWhat: newRank: majorAuthor: Christopher Mears[DESCRIPTION]Gecode now supports Lightweight Dynamic Symmetry Breaking (LDSB),see MPG for details.[ENTRY]Module: setWhat: newRank: majorAuthor: Christopher Mears[DESCRIPTION]Gecode now supports Lightweight Dynamic Symmetry Breaking (LDSB),see MPG for details.[ENTRY]Module: intWhat: newRank: majorThanks: Manuel Loth[DESCRIPTION]Added value selection strategies for branchingINT_VAL_NEAR_MIN(), INT_VAL_NEAR_MAX(), INT_VAL_NEAR_INC(), andINT_VAL_NEAR_DEC(). They can take a previous assignment to thevariables to branch on and try to choose values which are near(see MPG for details).[ENTRY]Module: intWhat: newRank: minor[DESCRIPTION]Added domain constraint that constrains a variable (or an array)according to the domain of another variable.[ENTRY]Module: setWhat: newRank: minor[DESCRIPTION]Added domain constraint that constrains a variable (or an array)according to the domain of another variable.[ENTRY]Module: setWhat: newRank: minor[DESCRIPTION]Added domain constraints for arrays of set variables.[ENTRY]Module: kernelWhat: changeRank: minor[DESCRIPTION]The default constrain() function for best-solution search nowdoes by default nothing (it used to throw an exception).[ENTRY]Module: driverWhat: newRank: major[DESCRIPTION]Added commandline options to control restart-based search, seeMPG for details.[ENTRY]Module: searchWhat: newRank: major[DESCRIPTION]Added support for restart-based search, see MPG for details.[ENTRY]Module: flatzincWhat: newRank: minor[DESCRIPTION]Added support for more search annotations (defined in gecode.mzn), and forthe restart and decay command line options.[ENTRY]Module: otherWhat: newRank: minorThanks: Victor Zverovich[DESCRIPTION]Added CMake build script for Gecode (CMakeLists.txt).[ENTRY]Module: intWhat: newRank: minor[DESCRIPTION]Added variants of dom that copy the domain from one variable toanother.[ENTRY]Module: driverWhat: newRank: minor[DESCRIPTION]Decay values can now be passed on the command line using theswitch -decay.[ENTRY]Module: searchWhat: changeRank: major[DESCRIPTION]Variable selection for branching used the quotient of sizedivided by degree, accumulated failure count, or activity. Theynow use the inverse. That is, for example, it is not any longerINT_VAR_SIZE_DEGREE_MIN() but INT_VAR_DEGREE_SIZE_MAX() (that is,largest degree divided by size).[MORE]That looks like an annoying change but is in fact essential: thestrategies using accumulated failure count and activity now couldhave run into division by zero issues. And just changing theimplementation is not good enough because the values of thesemeasures can now be exposed during tie-breaking.[ENTRY]Module: otherWhat: newRank: major[DESCRIPTION]Variable selection using AFC now supports decay. Read more in MPG.[ENTRY]Module: intWhat: performanceRank: major[DESCRIPTION]Arithmetic, linear, and cumulative constraints now resort tointernal operations using "long long int" rather than"double". This improves performance but also extends the rangeover integer coefficients that can be handled by linearconstraints.[ENTRY]Module: flatzincWhat: bugRank: minor[DESCRIPTION]The mzn-gecode shell script now passes arguments correctly to theFlatZinc interpreter.[ENTRY]Module: otherWhat: changeRank: minor[DESCRIPTION]Compiles with MSVC 2012.[ENTRY]Module: gistWhat: changeRank: minor[DESCRIPTION]Updated to compile with Qt version 5.0 (still works with Qt >= 4.3 as well).[ENTRY]Module: intWhat: bugRank: minorThanks: Roberto Castañeda Lozano[DESCRIPTION]Fixed precede constraint with less than two values.[ENTRY]Module: setWhat: bugRank: minorThanks: Roberto Castañeda Lozano[DESCRIPTION]Fixed precede constraint with less than two values.[ENTRY]Module: intWhat: newRank: minor[DESCRIPTION]The nooverlap constraint now allows sharing of unassignedvariables in its argument arrays.[ENTRY]Module: setWhat: newRank: major[DESCRIPTION]Added half-reification for reified constraints (see Modeling andProgramming with Gecode for details).[ENTRY]Module: intWhat: newRank: major[DESCRIPTION]Added half-reification for reified constraints (see Modeling andProgramming with Gecode for details).[ENTRY]Module: flatzincWhat: bugRank: minorThanks: Simon Ekvy[DESCRIPTION]Removed spurious debug output for among constraint.[ENTRY]Module: intWhat: bugRank: majorThanks: Lin Yong[DESCRIPTION]Fixed a bug where bounds consistent distinct reported subsumptioninstead of failure in certain cases.[ENTRY]Module: supportWhat: bugRank: minor[DESCRIPTION]Fixed a concurrency problem that caused an exception to be thrown atthe end of a multi-threaded search on some platforms.[ENTRY]Module: intWhat: changeRank: minor[DESCRIPTION]The coefficients for linear constraints are now divided bytheir greatest common divisor. That means that some equationscan be handled now that previously threw an OutOfLimits exception,and some equations can be handled with the more efficient integerprecision propagators that previously required double precision.[ENTRY]Module: kernelWhat: changeRank: major[DESCRIPTION]The entire infrastructure for variable-value branchers has beenreimplemented from scratch. The new design makes a much bettercompromise between code size, efficiency, and expressiveness:the efficiency is about the same (for examples with nopropagation and just branching one can note a slowdown of 2-4%)while code size shrinks drastically (the overall code size forinteger variables shrinks by 20%) and the architecture is muchmore expressive (in particular, it supports tie-break limits, seeMPG).[ENTRY]Module: intWhat: changeRank: minorThanks: Roberto Castañeda Lozano[DESCRIPTION]Generalized definition of no-overlap propagators for better reuse.[ENTRY]Module: iterWhat: documentationRank: minor[DESCRIPTION]Clarified for several iterators that when using the assignmentoperator both iterators must be allocated from the very sameregion.[ENTRY]Module: intWhat: changeRank: major[DESCRIPTION]The interface for branching on integer and Boolean variables haschanged considerably (supporting user-defined variable and valueselection, tie-break limit functions, handlers to createdbranchers, and more). In order to change, you have to add () toall variants of INT_VAR, INT_VAL, and INT_ASSIGN. For example,INT_VAR_SIZE_MIN becomes the function call INT_VAR_SIZE_MIN() andINT_VAL_MIN_MIN becomes the function call INT_VAL_MIN_MIN(). Someof these functions expect additional arguments and can take alsooptional arguments (this replaces the VarBranchOptions andValBranchOptions). Please read the new "Branching" chapterin MPG.[ENTRY]Module: setWhat: changeRank: major[DESCRIPTION]The interface for branching on integer and Boolean variables haschanged considerably (supporting user-defined variable and valueselection, tie-break limit functions, handlers to createdbranchers, and more). In order to change, you have to add () toall variants of SET_VAR, SET_VAL, and SET_ASSIGN. For example,SET_VAR_SIZE_MIN becomes the function call SET_VAR_SIZE_MIN() andSET_VAL_MIN_INC becomes the function call SET_VAL_MIN_INC(). Someof these functions expect additional arguments and can take alsooptional arguments (this replaces the VarBranchOptions andValBranchOptions). Please read the new "Branching" chapter inMPG.[ENTRY]Module: kernelWhat: newRank: minor[DESCRIPTION]The random seeds for variable and value branching options can nowbe initialized from a hardware random number generator (see MPGfor details).[ENTRY]Module: searchWhat: changeRank: major[DESCRIPTION]The restart best solution search engine has been removed (it issubsumed by the new restart-based meta search engine RBS).[ENTRY]Module: minimodelWhat: newRank: minor[DESCRIPTION]Added pow and nroot expressions for integer variables.[ENTRY]Module: intWhat: newRank: major[DESCRIPTION]Added pow and nroot constraints.[ENTRY]Module: intWhat: bugRank: minor[DESCRIPTION]Fixed potential rounding issues in sqr and sqrt constraints.[ENTRY]Module: searchWhat: performanceRank: minor[DESCRIPTION]The search engines now do not allocate memory on the search stack forthe rightmost branch of each node. This means that the search treedepth is now computed differently. It now represents the actual peakdepth required at any one time, taking into account that rightmostbranches reuse the stack entry of their parents.[ENTRY]Module: intWhat: bugRank: majorThanks: Manuel Baclet[DESCRIPTION]Fixed copying of tuple sets in extensional constraints and IntSets insequence constraints (could lead to crashes when using parallel search).[ENTRY]Module: supportWhat: bugRank: minorThanks: Max Ostrowski[DESCRIPTION]Fixed a bug in the allocation of very large bitsets.[ENTRY]Module: kernelWhat: performanceRank: majorThanks: Zandra Norman[DESCRIPTION]Fixed a bug in the main memory allocation routine: now heap blocksizes are decreased dynamically as they should be. Also changedthe memory configuration parameters as explained in: ZandraNorman, Memory Management for Gecode. KTH Royal Institute ofTechnology, Sweden, Bachelor thesis, TRITA-ICT-EX-2012:143, 2012.[ENTRY]Module: driverWhat: newRank: minorThanks: Andrea Pretto[DESCRIPTION]Added options -file-sol and -file-stat for writing solutions andstatistics to arbitrary files and streams.[ENTRY]Module: flatzincWhat: bugRank: minorThanks: Jean-Noël Monette[DESCRIPTION]Exported registry and helper functions so that users can addconstraint handlers to the FlatZinc interpreter.[ENTRY]Module: gistWhat: newRank: minor[DESCRIPTION]Added option to invoke move cursors during the automatic search.[ENTRY]Module: intWhat: changeRank: minor[DESCRIPTION]Respect IntConLevel argument for reified linear constraints with asingle integer variable.[ENTRY]Module: intWhat: bugRank: minorThanks: Jean-Noël Monette[DESCRIPTION]Added missing propagation for nary min/max constraint.[ENTRY]Module: flatzincWhat: newRank: minor[DESCRIPTION]Added native support for lex_less_bool and lex_lesseq_bool.[ENTRY]Module: intWhat: bugRank: minorThanks: Peter Nightingale[DESCRIPTION]Make extensional constraints work with empty tuple sets.[ENTRY]Module: intWhat: bugRank: minorThanks: Peter Nightingale[DESCRIPTION]Fix count (global cardinality constraint) for multiple occurrencesof the same value in the cover array.[ENTRY]Module: flatzincWhat: newRank: major[DESCRIPTION]Gecode/FlatZinc now supports float constraints and variables.[ENTRY]Module: kernelWhat: newRank: minor[DESCRIPTION]All ArgArrays now accept STL vectors and input iterators for construction.[ENTRY]Module: flatzincWhat: newRank: majorThanks: Gabriel Hjort Blindell[DESCRIPTION]The FlatZinc interpreter now supports comparing of nodes in Gist.[ENTRY]Module: flatzincWhat: changeRank: major[DESCRIPTION]The FlatZinc interpreter no longer performs a complete search on variablesannotated as var_is_introduced, but tries to extend a solution on the modelvariables to a solution that includes the introduced variables. Each solutionon the model variables is therefore only reported once.[ENTRY]Module: floatWhat: newRank: majorAuthor: Vincent Barichard[DESCRIPTION]Added support for float variables.[ENTRY]Module: intWhat: newRank: minorThanks: Kathrin Dannmann, Roberto Castañeda Lozano[DESCRIPTION]The binpacking constraint now also accepts items of size zero.[ENTRY]Module: intWhat: newRank: major[DESCRIPTION]Added activity-based branching strategies for integer and Booleanvariables: INT_VAR_ACTIVITY_MIN, INT_VAR_ACTIVITY_MAX,INT_VAR_ACTIVITY_SIZE_MIN, INT_VAR_ACTIVITY_SIZE_MAX. Fordetails, see "Modeling and Programming with Gecode".[ENTRY]Module: setWhat: newRank: major[DESCRIPTION]Added activity-based branching strategies for set variables:SET_VAR_ACTIVITY_MIN, SET_VAR_ACTIVITY_MAX,SET_VAR_ACTIVITY_SIZE_MIN, SET_VAR_ACTIVITY_SIZE_MAX. Fordetails, see "Modeling and Programming with Gecode".[ENTRY]Module: kernelWhat: newRank: major[DESCRIPTION]The kernel now can record the activity of variables. The activityof a variable is defined as how often the domain of a variablehas been pruned during search. For details, see "Modeling andProgramming with Gecode".[ENTRY]Module: exampleWhat: newRank: minor[DESCRIPTION]New example: Colored matrix without monochromatic rectangles.[ENTRY]Module: driverWhat: newRank: minorThanks: Josef Eisl[DESCRIPTION]The command line -print-last configures whether only the lastsolution found is printed.[ENTRY]Module: driverWhat: changeRank: minor[DESCRIPTION]Boolean options (BoolOption) can now be given a false or true argumentand hence are in-line with all other option types.[ENTRY]Module: kernelWhat: changeRank: minor[DESCRIPTION]Throw exception when the user-defined copy constructor of a classthat inherits from Space does not call the Space copy constructor.[ENTRY]Module: setWhat: newRank: majorAuthor: Denys Duchier[DESCRIPTION]Added channeling constraint between arrays of set variables.[ENTRY]Module: flatzincWhat: newRank: minor[DESCRIPTION]Added native support for the inverse_set constraint.[ENTRY]Module: minimodelWhat: changeRank: minor[DESCRIPTION]Made implementations of MiniModel expressions private, so that theMiniModel headers do not have to include propagator headers likegecode/int/linear.hh any longer.[RELEASE]Version: 3.7.3Date: 2012-03-23[DESCRIPTION]This release fixes some small bugs in the FlatZinc interpreter and library.[ENTRY]Module: flatzincWhat: bugRank: minorThanks: Marco Correia[DESCRIPTION]Fixed "largest" variable selection strategy for set variables.[ENTRY]Module: flatzincWhat: changeRank: minor[DESCRIPTION]Removed the print command line option. Instead, for optimization problems,using -a will print all solutions, while not using -a will only print thelast one. This is consistent with the G12 FlatZinc command line interface.[ENTRY]Module: flatzincWhat: bugRank: minorThanks: Thibaut Feydy[DESCRIPTION]Fixed the parser for set literals.[ENTRY]Module: flatzincWhat: newRank: minor[DESCRIPTION]Added mzn-gecode scripts for conveniently solving MiniZinc modelsusing the Gecode FlatZinc interpreter.[ENTRY]Module: flatzincWhat: bugRank: minor[DESCRIPTION]Integer variables with empty domains result in unsatisfiable modelsinstead of an error message.[ENTRY]Module: flatzincWhat: bugRank: minor[DESCRIPTION]Support 0-length array declarations.[RELEASE]Version: 3.7.2Date: 2012-02-27[DESCRIPTION]This release fixes several small bugs.[ENTRY]Module: flatzincWhat: bugRank: minor[DESCRIPTION]Export RTTI symbols for the FlatZinc AST so that it can be usedby client code.[ENTRY]Module: otherWhat: newRank: minorThanks: Adam Russell[DESCRIPTION]Gecode now compiles on NetBSD.[ENTRY]Module: intWhat: changeRank: minor[DESCRIPTION]Throw exception of type OutOfLimits instead of Exception whennumerical arguments to sequence constraint are out of range.[ENTRY]Module: intWhat: bugRank: minorThanks: Joseph Scott[DESCRIPTION]Added missing pruning to cumulative edge finding propagator.[ENTRY]Module: driverWhat: bugRank: minorThanks: Serge Le Huitouze[DESCRIPTION]Fixed rounding for printing the runtime (for example,1:60:56.157 could be printed...).[ENTRY]Module: setWhat: bugRank: majorThanks: Denys Duchier[DESCRIPTION]The element constraint with SOT_UNION and IntSetArgs reportedsubsumption too early, resulting in incorrect propagation.[ENTRY]Module: minimodelWhat: bugRank: minor[DESCRIPTION]The BoolExpr default constructor did not properly initializeits members, causing crashes.[ENTRY]Module: intWhat: performanceRank: minor[DESCRIPTION]Posting a reified dom constraint on IntVars with an assigned controlvariable does not create propagators any more, but updates thedomain immediately.[ENTRY]Module: flatzincWhat: bugRank: minorThanks: Nicholas Tung[DESCRIPTION]Do not crash when encountering undefined identifier as constraint argument.[ENTRY]Module: intWhat: bugRank: minorThanks: Kish Shen[DESCRIPTION]Fixed sorted constraint to accept zero-length arrays.[ENTRY]Module: intWhat: bugRank: minorThanks: Kish Shen[DESCRIPTION]Added some missing propagation when posting a channel constraintbetween an array of Boolean variables and an integer variable.[ENTRY]Module: otherWhat: newRank: minorThanks: Denys Duchier[DESCRIPTION]Added a macro GECODE_VERSION_NUMBER that is defined asx*1000000+y*100+z for Gecode version x.y.z.[ENTRY]Module: driverWhat: bugRank: minorThanks: Jan Kelbel[DESCRIPTION]Fixed time output for times with zero minutes but nonzero hours.[ENTRY]Module: kernelWhat: newRank: minor[DESCRIPTION]Added Archive operators for floats and doubles.[RELEASE]Version: 3.7.1Date: 2011-10-10[DESCRIPTION]This release fixes several bugs, upgrades to MiniZinc version1.4, and features some minor improvements.[ENTRY]Module: intWhat: changeRank: minor[DESCRIPTION]The semantics of n-ary Boolean implication has been changed (tothe more convential reading): rel(home, BOT_IMP, x, y) where x isan array of Boolean variable now assumes implication to be rightassociative. See MPG for explanation.[ENTRY]Module: intWhat: newRank: minor[DESCRIPTION]Added efficient propagators for n-ary Boolean xor and equivalence(as they are now primitive in MiniZinc).[ENTRY]Module: flatzincWhat: changeRank: minor[DESCRIPTION]The FlatZinc interpreter is now compatible with the G12 MiniZincdistribution 1.4. This adds support for var and par identifiers thatbegin with underscores, the array_bool_xor primitive, as well as thecommand line option -r for specifying a random seed.[ENTRY]Module: intWhat: newRank: minorThanks: Kish Shen[DESCRIPTION]Domain consistency for simple counting constraints can beswitched off.[ENTRY]Module: flatzincWhat: bugRank: majorThanks: Håkan Kjellerstrand[DESCRIPTION]Fixed linear inequations over integer variables that are channeledfrom Boolean variables.[ENTRY]Module: supportWhat: bugRank: minor[DESCRIPTION]Compile again if threads are disabled.[ENTRY]Module: intWhat: performanceRank: minor[DESCRIPTION]Domain consistent distinct runs 10-20% faster.[ENTRY]Module: setWhat: bugRank: major[DESCRIPTION]Do not use SharedArray<IntSet> in the set element constraints,because it does not properly udpate the IntSet during copying.This could cause memory corruption.[ENTRY]Module: intWhat: bugRank: major[DESCRIPTION]Fixed bugs in the computation of the required precision(int or double) for linear propagation, and in divisionoperations of scale views. These could cause an incorrecttreatment of overflow in linear constraints.[ENTRY]Module: searchWhat: bugRank: minor[DESCRIPTION]Fixed a bug that crashed the single-thread branch-and-boundsearch engine when initialized with a failed space.[ENTRY]Module: gistWhat: bugRank: minor[DESCRIPTION]Fixed a crash that occurred when double-clicking an unexplorednode while move inspectors were active.[RELEASE]Version: 3.7.0Date: 2011-08-31[DESCRIPTION]This release adds and improves quite a number of constraints(total lexicographic order for set variables, membershipconstraints for integer variables, counting constraints forinteger variables using integer sets, range, roots, set elementconstraints for integer variables, number of values for integervariables). All of these constraints (and some more) are now alsoavailable in FlatZinc. Additionally, some fixes and improvements.This release is an important milestone as %Gecode now providesnative implementations for all important constraints availablein MiniZinc/FlatZinc.The documentation of constraints in "Modeling and Programmingwith Gecode" now refers to the Global Constraint Catalog (forthose constraints that are listed in the catalog).[ENTRY]Module: gistWhat: bugRank: minor[DESCRIPTION]Call solution inspectors also when exploring manually.[ENTRY]Module: gistWhat: bugRank: minor[DESCRIPTION]Flush output to Gist console, so that output that is not ended by anewline is not lost.[ENTRY]Module: flatzincWhat: bugRank: major[DESCRIPTION]Added missing primitives set_le, set_lt, set_ge, and set_gt.[ENTRY]Module: setWhat: newRank: major[DESCRIPTION]Added set relations SRT_LQ, SRT_LE, SRT_GQ, SRT_GR for total(lexicographic) order.[ENTRY]Module: otherWhat: bugRank: minorThanks: Gustavo Gutierrez[DESCRIPTION]Install generated variable implementation headers instead of the shippedversions (fixes a problem when building Gecode in a separate directory).[ENTRY]Module: intWhat: newRank: major[DESCRIPTION]Added normal and reified membership constraints for integer andBoolean variables.[ENTRY]Module: minimodelWhat: newRank: minor[DESCRIPTION]Added a convenience function values that restricts the set of valuestaken by an array of integer variables to a fixed set, using the nvaluesconstraint. The channel constraints between IntVarArgs and a SetVar nowalso use nvalues to increase propagation.[ENTRY]Module: intWhat: bugRank: minor[DESCRIPTION]Added some additional propagation for the count constraints (now,for example, count(home, x, y, IRT_GQ, 1) also constrains y toonly take values supported by x).[ENTRY]Module: intWhat: newRank: major[DESCRIPTION]The count constraints now also support comparison to integer setsin addition to integers and integer variables (which then implements amongfrom the GCCAT).[ENTRY]Module: minimodelWhat: newRank: minor[DESCRIPTION]Added range and roots, which decompose into set element constraints.[ENTRY]Module: flatzincWhat: newRank: major[DESCRIPTION]Added native support for among, nvalues, int_set_channel,member_bool, member_int, sum_pred, and the range and rootsconstraints.[ENTRY]Module: setWhat: newRank: minor[DESCRIPTION]Added set element constraints with singleton integer variablesas arguments.[ENTRY]Module: setWhat: bugRank: minorThanks: Johannes Inführ[DESCRIPTION]Fixed a memory leak in the set weights constraint, and useIntSharedArray instead of IntArgs as parameters for weights.[ENTRY]Module: kernelWhat: bugRank: minorThanks: Max Ostrowski[DESCRIPTION]Array slices can now be created from empty arrays.[ENTRY]Module: intWhat: newRank: major[DESCRIPTION]Added nvalues constraint.[ENTRY]Module: exampleWhat: newRank: minor[DESCRIPTION]Added Dominating %Queens puzzle.[ENTRY]Module: kernelWhat: newRank: minor[DESCRIPTION]View arrays can now also use region-allocated memory.[ENTRY]Module: intWhat: bugRank: major[DESCRIPTION]The estimation of bounds on linear terms did not handle overflowcorrectly.[ENTRY]Module: iterWhat: changeRank: minor[DESCRIPTION]Cached iterators such as n-ary union and intersection, minus, andcache (of course) are not any longer template classes but taketemplate constructors and member functions. N-ary union andintersection iterators can now also be initialized incrementalywith iterators of different types.[ENTRY]Module: flatzincWhat: changeRank: minor[DESCRIPTION]The set_in and set_in_reif constraints now work for constant setseven when %Gecode is compiled without support for set variables.[RELEASE]Version: 3.6.0Date: 2011-07-15[DESCRIPTION]This release adds new constraints (value precedence constraintsfor integer and set variables, no-overlap constraints forrectangles, constraints for Hamiltonian paths), improves andcleans up a number of existing constraints (scheduling,channeling, relation, bin-packing, lexicographic relations), andadds new functionality (support for externalization of choicesfor distributed search, support for incremental propagation).Some models might have to be changed as the graph and schedulingmodules have been incorporated into the integer module (removingthe respective include directives is sufficient).On top, there are many small fixes, in particular for FlatZinc.[ENTRY]Module: intWhat: changeRank: minor[DESCRIPTION]The cumulatives constraint now does not post the s+p=e constraints,harmonizing its semantics with the cumulative and unary constraints.[ENTRY]Module: intWhat: newRank: minor[DESCRIPTION]The cumulative constraints now support an IntVar as the capacityargument.[ENTRY]Module: exampleWhat: newRank: minor[DESCRIPTION]Added Schur's Lemma puzzle.[ENTRY]Module: intWhat: performanceRank: minor[DESCRIPTION]Optimized channeling propagator between an array of Booleanvariables and an integer variables.[ENTRY]Module: intWhat: changeRank: major[DESCRIPTION]Changed semantics of rel(home, x, IRT_NQ), enforces that not allvariables in x are equal. See "Modeling and Programming withGecode" for details.[ENTRY]Module: flatzincWhat: newRank: major[DESCRIPTION]Added native support for the precedence constraint.[ENTRY]Module: setWhat: newRank: majorAuthor: Christopher Mears[DESCRIPTION]Added value precedence constraint.[ENTRY]Module: intWhat: newRank: majorAuthor: Christopher Mears[DESCRIPTION]Added value precedence constraint.[ENTRY]Module: intWhat: performanceRank: minor[DESCRIPTION]The disequality constraint between variable arrays has an efficientpropagator now.[ENTRY]Module: intWhat: performanceRank: major[DESCRIPTION]The ordering constraints rel(home, x, IRT_LE) (also for IRT_LQ,IRT_GR, IRT_GQ) now have an optimal implementation (singleincremental propagator).[ENTRY]Module: driverWhat: bugRank: minorThanks: Jan Kelbel[DESCRIPTION]Fixed a small memory leak in the driver (stop objects were not deleted).[ENTRY]Module: intWhat: performanceRank: major[DESCRIPTION]Increased performance of bin-packing propagator by 40 to 300percent by using staging.[ENTRY]Module: flatzincWhat: newRank: major[DESCRIPTION]Added native support for the no-overlap constraint (called diffn inMiniZinc/FlatZinc).[ENTRY]Module: intWhat: newRank: major[DESCRIPTION]Added no-overlap constraint that enforces that rectangles do notoverlap (also known as diffn). See "Modeling and Programming withGecode" for details.[ENTRY]Module: intWhat: newRank: major[DESCRIPTION]Added constraints for Hamiltonian paths (calledpath). See "Modeling and Programming with Gecode" for details.[ENTRY]Module: flatzincWhat: newRank: minorThanks: Håkan Kjellerstrand[DESCRIPTION]Support indomain_middle and indomain_interval search annotation byreplacing them with indomain_median and indomain_split, respectively.[ENTRY]Module: gistWhat: changeRank: minor[DESCRIPTION]Zoom-to-fit can now be selected during search.[ENTRY]Module: graphWhat: changeRank: major[DESCRIPTION]The graph module has been removed and its constraints have beenadded to the integer module.[ENTRY]Module: schedulingWhat: changeRank: major[DESCRIPTION]The scheduling module has been removed and its constraints have beenadded to the integer module.[ENTRY]Module: intWhat: bugRank: minor[DESCRIPTION]Fixed element and sequence propagators, which were onlycorrect by accident (incorrect use of GECODE_ME_CHECK instead ofGECODE_ES_CHECK).[ENTRY]Module: setWhat: bugRank: minor[DESCRIPTION]Fixed sequence, partition, and union propagators, which were onlycorrect by accident (incorrect use of GECODE_ME_CHECK instead ofGECODE_ES_CHECK).[ENTRY]Module: schedulingWhat: bugRank: minor[DESCRIPTION]Fixed scheduling code for mandatory flexible tasks, which was onlycorrect by accident (incorrect use of GECODE_ME_CHECK instead ofGECODE_ES_CHECK).[ENTRY]Module: flatzincWhat: newRank: minor[DESCRIPTION]Added native support for link_set_to_booleans,global_cardinality_low_up_closed, and decreasing_bool.[ENTRY]Module: intWhat: newRank: minorThanks: Kish Shen[DESCRIPTION]Generalized lexicographic constraint to arrays of different sizes.[ENTRY]Module: searchWhat: bugRank: minor[DESCRIPTION]Fixed memory leak when passing a failed space to a search engine with cloningoption set to false.[ENTRY]Module: kernelWhat: newRank: minor[DESCRIPTION]Moved RangeList class, which is a list of ranges implemented as a FreeList,from the set module into the kernel. Also added correspondingIter::Ranges::RangeList iterator.[ENTRY]Module: intWhat: newRank: major[DESCRIPTION]Added a CachedView that can cache the domain between propagator invocationsand provides an efficient test whether a view has changed since the previousinvocation as well as an iterator over the removed domain values. This makesit easier to implement incremental propagation algorithms that need exactdelta information.[ENTRY]Module: setWhat: newRank: major[DESCRIPTION]Added a CachedView that can cache the domain between propagator invocationsand provides an efficient test whether a view has changed since the previousinvocation as well as an iterator over the removed domain values. This makesit easier to implement incremental propagation algorithms that need exactdelta information.[ENTRY]Module: setWhat: performanceRank: minor[DESCRIPTION]Use new cached views for a more efficient implementation of the channel constraint between IntVarArgs and SetVarArgs.[ENTRY]Module: gistWhat: bugRank: minor[DESCRIPTION]Changed keyboard shortcuts in Gist so that they work on all platforms: "Inspect"is now Ctrl+number of inspector, for "Inspect before fixpoint" press Alt inaddition (on Mac OS, use the Command key instead of Ctrl).[ENTRY]Module: otherWhat: bugRank: minorThanks: Martin Mann[DESCRIPTION]Fixed Makefile, now installation works when FlatZinc library is disabled.[ENTRY]Module: otherWhat: newRank: minorThanks: Ruben Zilibowitz[DESCRIPTION]Added configure option --enable-small-codesize that results inslightly less efficient but more compact code being generated fornon-debug builds.[ENTRY]Module: setWhat: bugRank: minor[DESCRIPTION]The constructors for set variable arrays and argument arrays threw incorrectVariableEmptyDomain exceptions.[ENTRY]Module: graphWhat: newRank: minor[DESCRIPTION]Added circuit constraints with offsets.[ENTRY]Module: intWhat: performanceRank: minor[DESCRIPTION]The channel constraints between two integer arrays are now morememory efficient when offsets are used.[ENTRY]Module: kernelWhat: changeRank: major[DESCRIPTION]Choices can now be written into an externalized form (called an Archive),and reconstructed from it. This is necessary for serializing paths ina distributed search engine.[ENTRY]Module: flatzincWhat: changeRank: minor[DESCRIPTION]Adapted the MiniZinc declarations and the command line options forGecode/FlatZinc to MiniZinc 1.3. The fz binary now works with theminizinc driver script.[ENTRY]Module: flatzincWhat: bugRank: minorThanks: Håkan Kjellerstrand[DESCRIPTION]Re-enabled the global cardinality constraint in the FlatZinc interpreter.[ENTRY]Module: flatzincWhat: bugRank: minorThanks: Håkan Kjellerstrand[DESCRIPTION]Fixed the MiniZinc definition for the circuit constraints to work witharbitrarily indexed arrays.[ENTRY]Module: gistWhat: changeRank: minorThanks: Alin Gherman[DESCRIPTION]Compiles under MSVC 2005 SP1 again.[ENTRY]Module: setWhat: newRank: minorThanks: Marco Correia[DESCRIPTION]Added channel aliases for set union of an array of integer variables,and renamed channel to channelSorted.[ENTRY]Module: setWhat: documentationRank: minorThanks: Marco Correia[DESCRIPTION]Fixed documentation for set channeling constraint.[RELEASE]Version: 3.5.0Date: 2011-02-01[DESCRIPTION]This release fixes serious bugs in parallel search, FlatZinc,fixes some DLL issues on Windows, adds support for FreeBSD, andadds STL-style iterators for arrays.[ENTRY]Module: searchWhat: bugRank: majorThanks: Denys Duchier, Chris Mears[DESCRIPTION]Fixed a serious bug in parallel search (took over a year toisolate the bug).[ENTRY]Module: otherWhat: newRank: minorThanks: Peter Penchev[DESCRIPTION]Gecode now compiles on FreeBSD.[ENTRY]Module: kernelWhat: newRank: majorAuthor: Gregory Crosswhite[DESCRIPTION]Added STL compatible iteration support for arrays (variablearrays, argument arrays, view arrays, and shared arrays).[ENTRY]Module: minimodelWhat: bugRank: minorThanks: Alexander Kleff[DESCRIPTION]Do not inline construction of linear, Boolean, and setexpressions to avoid cross-DLL allocation/deallocation issues onWindows.[ENTRY]Module: otherWhat: newRank: major[DESCRIPTION]Embed resource information into Gecode DLLs and EXEs on Windows.[ENTRY]Module: flatzincWhat: bugRank: majorThanks: Roberto Castañeda Lozano[DESCRIPTION]Fixed incorrect posting of linear constraints with variable arraysof size one.[ENTRY]Module: otherWhat: changeRank: minor[DESCRIPTION]Embed manifest into Gecode DLLs on Windows.[ENTRY]Module: flatzincWhat: changeRank: major[DESCRIPTION]Fixed the definitions of global_cardinality to work with MiniZinc 1.2 andnewer, and added corresponding definitions of global_cardinality_closed andglobal_cardinality_low_up_closed.[RELEASE]Version: 3.4.2Date: 2010-10-09[DESCRIPTION]This release removes LDS from Gecode as it is patented in the US.[ENTRY]Module: searchWhat: removedRank: minor[DESCRIPTION]Removed limited discrepancy search (LDS) as it is patented in the US.[ENTRY]Module: flatzincWhat: newRank: minor[DESCRIPTION]Added support for binpacking constraint.[RELEASE]Version: 3.4.1Date: 2010-10-08[DESCRIPTION]This release adds a new global constraint for binpacking (withextended example) and filter functions for branchers. Thereference documentation has been cleaned up. In particular,information on how to obtain, install, and link Gecode has beenexpanded and moved to "Modeling and Programming with Gecode"(Section 2.6). Additionally, the release fixes some bugs andcontains some performance improvements.[ENTRY]Module: exampleWhat: newRank: major[DESCRIPTION]Added a binpacking model using the binpacking constraint and CDBF(complete decreasing best fit) search.[ENTRY]Module: intWhat: newRank: major[DESCRIPTION]Added a binpacking constraint and propagator.[ENTRY]Module: driverWhat: newRank: minor[DESCRIPTION]Added a class InstanceOptions that takes one additional string argument.[ENTRY]Module: flatzincWhat: newRank: minor[DESCRIPTION]Added support for global_cardinality_low_up.[ENTRY]Module: otherWhat: documentationRank: minor[DESCRIPTION]Removed obsolete Glossary in reference documentation.[ENTRY]Module: intWhat: bugRank: minorThanks: Gustavo A. Gómez Farhat[DESCRIPTION]Do not inline functions with variable arguments.[ENTRY]Module: gistWhat: changeRank: minor[DESCRIPTION]Only center node on double-click if it was undetermined (otherwiseinspecting several nodes becomes slightly annoying).[ENTRY]Module: minimodelWhat: changeRank: minor[DESCRIPTION]Added element expression for BoolVarArgs.[ENTRY]Module: minimodelWhat: bugRank: minor[DESCRIPTION]Fixed memory allocation for non-linear expressions and made theLinExpr constructor explicit for non-linear expressions (previouslythe automatic cast from integers to LinExpr was sometimes ambiguous).[ENTRY]Module: schedulingWhat: bugRank: majorThanks: Roberto Castañeda Lozano[DESCRIPTION]Fixed initialization for unary and cumulative edge-finding (justworked accidentally).[ENTRY]Module: kernelWhat: changeRank: majorThanks: Felix Brandt[DESCRIPTION]Branching now honors filter functions, where variables areconsidered for branching only if the filter functions returnstrue (see "Modeling and Programming with Gecode" for details).[ENTRY]Module: kernelWhat: changeRank: minor[DESCRIPTION]Variable implementation views are now parametric with respect tovariables but not variable implementations (see "Modeling andProgramming with Gecode" for details).[ENTRY]Module: kernelWhat: changeRank: minor[DESCRIPTION]Renamed the template class for variables defined by a variableimplementation from Var to VarImpVar and re-added a class Var asbase class for any variable type.[ENTRY]Module: intWhat: bugRank: minorThanks: Kish Shen[DESCRIPTION]The reified dom constraint failed instead of setting the BoolVar to 0 when theminimum argument given was greater than the maximum.[ENTRY]Module: intWhat: performanceRank: minorThanks: Kish Shen[DESCRIPTION]Fixed sortedness constraint by replacing an algorithm that is linear in thewidth of the union of all domains with an algorithm that is quadratic in thenumber of variables. The previous algorithm crashed for domains with largevalues due to excessive memory use.[ENTRY]Module: intWhat: performanceRank: minor[DESCRIPTION]Using ICL_DOM for binary linear equations with unit coefficients (such as x =y+3) is now implemented using the much more efficient binary equalitypropagator instead of the linear equation propagator (which has worst caseexponential runtime).[ENTRY]Module: gistWhat: performanceRank: minor[DESCRIPTION]Saved some memory for each node in Gist (one pointer per node, two integersper inner node, and some additional memory on 64 bit platforms due to optimizingalignment), and speeded up deallocation of the tree (e.g. when resetting orclosing Gist).[ENTRY]Module: iterWhat: performanceRank: minor[DESCRIPTION]Reimplemented n-ary union, minus, and cache iterators for muchbetter efficiency.[ENTRY]Module: flatzincWhat: performanceRank: minor[DESCRIPTION]The FlatZinc parser now uses hash maps instead of STL maps, whichsignificantly increases parsing performance for larger files.Furthermore, a single symbol table is used, also increasingperformance and allowing to report duplicate symbol errors,which were previously ignored.[RELEASE]Version: 3.4.0Date: 2010-07-26[DESCRIPTION]This release includes: considerably improved support for postingexpressions and relations (also including set and full arithmeticexpressions); other improvements for modeling (arrayinitialization and element addition to arrays); state-of-the-artunary and cumulative scheduling propagators (including optionaland flexible tasks); major cleanups of the variable and viewinfrastructure (now also documented in MPG); cleanups of theexamples; several other fixes and performance improvements.This release is the first to be accompanied by a complete versionof "Modeling and Programming in Gecode" which has been extendedby many new case studies and parts on programming search enginesand variables.[ENTRY]Module: flatzincWhat: bugRank: minor[DESCRIPTION]Boolean relations were incorrect on assigned arguments.[ENTRY]Module: kernelWhat: bugRank: minor[DESCRIPTION]Posting a propagator in a failed space could make the spacenon-failed again.[ENTRY]Module: kernelWhat: newRank: minor[DESCRIPTION]Added LocalObject and LocalHandle classes that can be used forspace-allocated objects that are shared within a space, forexample among several propagators or propagators and branchers.[ENTRY]Module: otherWhat: changeRank: major[DESCRIPTION]Completely cleaned up variables and views, drastically saving code.[ENTRY]Module: otherWhat: removedRank: minor[DESCRIPTION]Variables do not have init functions any longer as they are notneeded, see MPG for discussion.[ENTRY]Module: schedulingWhat: newRank: major[DESCRIPTION]Added scheduling constraints for tasks with flexible duration(for both unary and cumulative resources), and made all schedulingpropagators deal correctly with zero length tasks.[ENTRY]Module: schedulingWhat: newRank: major[DESCRIPTION]Added propagators for cumulative scheduling.[ENTRY]Module: minimodelWhat: bugRank: minorThanks: Håkan Kjellerstrand[DESCRIPTION]Fixed a bug in minimodel, which could crash when using zerocoefficients.[ENTRY]Module: driverWhat: changeRank: minor[DESCRIPTION]The driver now catches SIGINT (i.e., pressing Ctrl-C) and stopsthe search properly, printing statistics up to the point whereit stopped.[ENTRY]Module: gistWhat: changeRank: minor[DESCRIPTION]If an inspector throws an exception, an error message isprinted indicating which inspector caused the problem.Previously, Gist would crash with a Qt error that was difficultto trace.[ENTRY]Module: flatzincWhat: bugRank: minor[DESCRIPTION]Fixed garbage collection of variables that are not printed. Thebug lead to variables being mixed up in the output.[ENTRY]Module: exampleWhat: removedRank: minor[DESCRIPTION]Removed stress tests, the real examples are much more stressful,actually![ENTRY]Module: minimodelWhat: changeRank: minor[DESCRIPTION]The Matrix class now supports const operations and has an outputoperator.[ENTRY]Module: minimodelWhat: changeRank: major[DESCRIPTION]Linear expressions can now contain non-linear parts, such asmultiplications or divisions, or set expressions such ascardinality.[ENTRY]Module: minimodelWhat: changeRank: major[DESCRIPTION]The minimodel post functions have been split into two functions, reland expr. While rel posts a constraint, expr returns a new variableconstrained to the given expression. This change makes it possible toget rid of the reification operator (~) as well as the tt and fffunctions, which were previously needed to distinguish betweenrelations and expressions. Boolean equivalence and implication cannow be expressed using operators (==,<<,>>).[ENTRY]Module: minimodelWhat: newRank: major[DESCRIPTION]The minimodel library now provides convenient post functionsfor set constraints.[ENTRY]Module: setWhat: bugRank: minor[DESCRIPTION]Fixed the include and exclude tell operations of set variables sothat they work with empty ranges.[ENTRY]Module: exampleWhat: changeRank: minor[DESCRIPTION]The Nonogram example now uses AFC as the default branching andincludes some more instances.[ENTRY]Module: exampleWhat: newRank: minor[DESCRIPTION]New custom branching for the BACP example using a custom value selection.[ENTRY]Module: otherWhat: changeRank: minor[DESCRIPTION]The configure script now checks for qmake-qt4 and moc-qt4, which are used onsome Linux systems to distinguish between Qt3 and Qt4.[ENTRY]Module: driverWhat: changeRank: minor[DESCRIPTION]Running a script in time mode stops all iterations and samplesimmediately if a single run reaches a limit (eases benchmarkswith timeouts).[ENTRY]Module: intWhat: performanceRank: minor[DESCRIPTION]Optimized element propagator, expect a speed up of around 35-50%in most cases.[ENTRY]Module: minimodelWhat: performanceRank: minor[DESCRIPTION]Posting linear expressions performs more aggressive optimizationsfor assigned variables.[ENTRY]Module: minimodelWhat: performanceRank: minor[DESCRIPTION]Arithmetic modeling functions now try to avoid creating newvariables and posting propagators for common cases.[ENTRY]Module: setWhat: changeRank: minor[DESCRIPTION]The argument arrays now have constructors that create new variables.[ENTRY]Module: intWhat: changeRank: minor[DESCRIPTION]The argument arrays now have constructors that create new variables.[ENTRY]Module: intWhat: changeRank: minor[DESCRIPTION]IntArgs with simple sequences of values can now be created using theIntArgs::create static member function.[ENTRY]Module: otherWhat: changeRank: minor[DESCRIPTION]The build system now supports Visual C++ 2010.[ENTRY]Module: minimodelWhat: changeRank: minor[DESCRIPTION]Array slices can now be empty.[ENTRY]Module: kernelWhat: changeRank: major[DESCRIPTION]The support for dynamically resizing variable arrays has beenremoved (it was buggy and inefficient). Instead, all argumentarrays now support adding elements using operator<<. In addition,all arrays now support concatenation using operator+ and slicing,and variable arrays, view arrays, and variable argument arraysinclude a test whether all variables are assigned.[ENTRY]Module: exampleWhat: changeRank: minor[DESCRIPTION]Take advantage of the better modeling support for the BIBD, Golombruler, Kakuro, Black Hole, and Warehouse examples (nothing but dusting offexamples that have been around for ages).[ENTRY]Module: intWhat: newRank: minor[DESCRIPTION]You can now construct IntArgs from an STL vector, an IntSharedArray,or using simple comprehensions.[ENTRY]Module: gistWhat: bugRank: minor[DESCRIPTION]Fixed bug in Gist where signals were sent across threads, whichmakes Qt crash in certain situations on some platforms.[ENTRY]Module: gistWhat: bugRank: minorThanks: David Zaremby[DESCRIPTION]Fixed bug in interactive search where every move in the tree requiredrecomputation.[RELEASE]Version: 3.3.1Date: 2010-04-09[DESCRIPTION]This release adds many new features to Gist, fixes two major bugsin extensional constraints, and has some more cleanups to complywith the first release of the "Modeling and Programming withGecode" document. And, as always some small fixes and cleanups.[ENTRY]Module: otherWhat: documentationRank: minor[DESCRIPTION]Removed many small documentation quirks.[ENTRY]Module: flatzincWhat: performanceRank: minor[DESCRIPTION]Variables that do not have output annotations are now garbagecollected during copying.[ENTRY]Module: flatzincWhat: performanceRank: minor[DESCRIPTION]When using sums of Boolean variables using bool2int in MiniZinc,the FlatZinc interpreter now posts the more efficient propagatorsthat work directly on the Boolean variables.[ENTRY]Module: schedulingWhat: bugRank: minor[DESCRIPTION]The unary scheduling propagator with optional tasks missed somepropagation sometimes.[ENTRY]Module: intWhat: bugRank: major[DESCRIPTION]Fixed extensional constraint with finite automata for veryunlikely (but apparantely possible) border case.[ENTRY]Module: gistWhat: newRank: major[DESCRIPTION]In addition to inspectors, you can now also register comparators, which can beused to compare two nodes in the tree. In combination with the option tocompare before computing a fixpoint of the second node, this lets you see whatexactly was modified by a branching.[ENTRY]Module: setWhat: bugRank: minor[DESCRIPTION]Fixed channeling between set and integer variables which did not propagateenough.[ENTRY]Module: intWhat: bugRank: major[DESCRIPTION]The extensional constraints with tuple sets could cause crasheswhen used with parallel search.[ENTRY]Module: gistWhat: bugRank: minor[DESCRIPTION]Missing export declarations prevented embedding Gist as a widget. There isnow example code for embedding Gist in the directorygecode/gist/standalone-example.[ENTRY]Module: gistWhat: newRank: major[DESCRIPTION]Gist can now stop exploration after all alternatives of a certain branchingare exhausted. This feature can be turned on by posting a special branchingusing the Gist::stopBranch post function. Gist will then stop whenever thatspecial branching becomes active.[ENTRY]Module: kernelWhat: bugRank: minor[DESCRIPTION]Fixed bug in VarArray::resize function that occurred when shrinkingvariable arrays.[ENTRY]Module: kernelWhat: changeRank: minor[DESCRIPTION]The (unused and unusable) CopiedHandle have been removed.[ENTRY]Module: schedulingWhat: changeRank: minor[DESCRIPTION]Tasks in unary scheduling constraints may now have processing times of 0.[ENTRY]Module: gistWhat: newRank: minor[DESCRIPTION]Added inspection of nodes before fixpoint computation.[ENTRY]Module: setWhat: removedRank: minor[DESCRIPTION]Removed Set::IntSetPropagator and Set::IntSetRePropagator because they aresubsumed by the MixBinaryPropagator patterns.[ENTRY]Module: gistWhat: bugRank: minor[DESCRIPTION]Fixed a bug where sometimes clicking on a node would select a different node.[ENTRY]Module: gistWhat: performanceRank: major[DESCRIPTION]Scrolling and zooming have been reimplemented. The new implementation is moreefficient and works around problems that occurred with large trees on someplatforms. Zooming is now more intuitive, keeping the current centercentered. You can now also zoom by pressing shift while using the mouse wheel.[ENTRY]Module: exampleWhat: newRank: minor[DESCRIPTION]Added Gist inspectors for the Knights and Queens examples.[ENTRY]Module: driverWhat: newRank: minor[DESCRIPTION]You can now register Gist inspectors in the driver options.[ENTRY]Module: gistWhat: newRank: minor[DESCRIPTION]Nodes can now be bookmarked.[ENTRY]Module: gistWhat: newRank: minor[DESCRIPTION]Added inspectors that react whenever a node is selected.[ENTRY]Module: flatzincWhat: changeRank: minor[DESCRIPTION]Comply with MiniZinc 1.1. String literals are not allowed any longerexcept in annotations, the solver outputs UNKNOWN and UNSATISFIABLEinstead of just ==========, and the global constraints all_equal,decreasing_int, and decreasing_bool are supported.[RELEASE]Version: 3.3.0Date: 2010-03-15[DESCRIPTION]This release provides some fixes, some performance improvementsfor domain propagators, and quite some clean ups how propagatorsand advisors report their status to the kernel. Many of theseclean ups are essential to make it easier to program propagatorsand branchers with Gecode.[ENTRY]Module: otherWhat: bugRank: minor[DESCRIPTION]Configure now prepend options to the CXXFLAGS and CFLAGS variablesinstead of appending them. That way, defining the variables wheninvoking configure overrides the choices configure makes (e.g.overriding the default -O3 with -O2).[ENTRY]Module: intWhat: changeRank: minor[DESCRIPTION]Patterns for reified propagators have been moved to theGecode::Int namespace.[ENTRY]Module: setWhat: changeRank: minor[DESCRIPTION]Patterns for set propagators have been moved to theGecode::Set namespace.[ENTRY]Module: kernelWhat: bugRank: minor[DESCRIPTION]ViewValBrancher with random value selection did not produce arandom sequence of values.[ENTRY]Module: kernelWhat: newRank: minor[DESCRIPTION]Advisors now can force its propagator to be rescheduled,including recomputation of its cost used for scheduling(normally, a propagator is only rescheduled if its modificationevent delta changes). An advisor can signal forceful reschedulingby returning ES_NOFIX_FORCE or returning the return value ofES_NOFIX_FORCE_DISPOSE. Read the forthcoming "Modeling andProgramming with Gecode" for details.[ENTRY]Module: kernelWhat: changeRank: minor[DESCRIPTION]The failure macros for posting GECODE_ES_FAIL and GECODE_ME_FAILnow only accept a single argument and assume that "home" actuallyrefers to the home space. Read the forthcoming "Modeling andProgramming with Gecode" for details.[ENTRY]Module: kernelWhat: changeRank: minor[DESCRIPTION]The functions ES_FIX_PARTIAL, ES_NOFIX_PARTIAL, ES_FIX_DISPOSE,and ES_NOFIX_DISPOSE are now member of Space. Read theforthcoming "Modeling and Programming with Gecode" for details.[ENTRY]Module: kernelWhat: changeRank: minor[DESCRIPTION]The function ES_SUBSUMED now is a member of Space and accepts apropagator as its single argument. The variant with a size as thesecond argument is available as ES_SUBSUMED_DISPOSED but use ishighly discouraged. Read the forthcoming "Modeling andProgramming with Gecode" for details.[ENTRY]Module: kernelWhat: changeRank: minor[DESCRIPTION]The functions ES_SUBSUMED_FIX and ES_SUBSUMED_NOFIX for advisorshave been renamed to ES_FIX_DISPOSE and ES_NOFIX_DISPOSE. Readthe forthcoming "Modeling and Programming with Gecode" fordetails.[ENTRY]Module: flatzincWhat: changeRank: minor[DESCRIPTION]The FlatZinc interpreter can now be extended by plugins that implementcustom search strategies. The plugins are implemented as dynamically loadedlibraries using the Qt plugin mechanism. An example can be found in thedirectory gecode/flatzinc/exampleplugin.[ENTRY]Module: flatzincWhat: changeRank: minor[DESCRIPTION]The index of the variable used for optimization is now available in theFlatZincSpace class.[ENTRY]Module: flatzincWhat: changeRank: minor[DESCRIPTION]Added command line option -print, which controls whether all solutions areprinted or only the last one that is found, and -search, to choose betweenbranch-and-bound and restart optimization.[ENTRY]Module: flatzincWhat: changeRank: minor[DESCRIPTION]The FlatZinc library can now parse a FlatZinc model into any subclass ofFlatZincSpace, so that custom extensions can be built. Annotations on thesolve item can now be accessed from the returned FlatZincSpace, so thatadditional search strategies can be implemented.[ENTRY]Module: flatzincWhat: bugRank: minor[DESCRIPTION]The FlatZinc interpreter ignored the -c-d and -a-d command lineswitches when used with Gist.[ENTRY]Module: minimodelWhat: removedRank: minor[DESCRIPTION]Removed special cases for posting linear and Boolean expressionsconsisting of a single variable only (was highly ambigious).[ENTRY]Module: minimodelWhat: newRank: minor[DESCRIPTION]Linear expressions can freely mix integer and Boolean variablesand support construction from variable arrays via a sum function.[ENTRY]Module: supportWhat: performanceRank: major[DESCRIPTION]Changed to single, really efficient bitset implementation usedallover the system.[ENTRY]Module: intWhat: performanceRank: major[DESCRIPTION]Considerably improved performance and memory consumption of theDFA-based extensional constraint (regular).[ENTRY]Module: intWhat: newRank: minor[DESCRIPTION]Integer sets (IntSet) now have a in member function for testingwhether an integer is included.[ENTRY]Module: gistWhat: bugRank: minor[DESCRIPTION]Avoid inter-thread call to QWidget::update, which apparently causes a slightmemory leak (and warning messages on stderr) on Mac OS.[RELEASE]Version: 3.2.2Date: 2009-11-30[DESCRIPTION]This release adds the sequence constraint (contributed by DavidRijsman, Quintiq) and has as always some small additions andfixes.[ENTRY]Module: intWhat: bugRank: minorThanks: Alberto Delgado[DESCRIPTION]The global cardinality (count) constraint now accepts unsortedarrays of values. It previously propagated incorrectly if thearray was not sorted.[ENTRY]Module: intWhat: bugRank: minor[DESCRIPTION]Fixed bug in the ICL_VAL propagator for global cardinality.[ENTRY]Module: flatzincWhat: bugRank: minorThanks: Håkan Kjellerstrand[DESCRIPTION]Support search annotations with constants in the variable arrays.[ENTRY]Module: searchWhat: bugRank: minor[DESCRIPTION]The memory reported could be sometimes too low (the previous fixfor 3.2.0 did not fix it for branch and bound search).[ENTRY]Module: kernelWhat: bugRank: minorThanks: Gustavo Gutierrez[DESCRIPTION]Added missing assignment operator for space-based allocators forSTL data structures.[ENTRY]Module: iterWhat: changeRank: minor[DESCRIPTION]Renamed test for subset or disjointness of range iterators to "compare".[ENTRY]Module: flatzincWhat: bugRank: minor[DESCRIPTION]The set_in and set_in_reif constraints were buggy when used with Booleanvariables (which are usually not generated by mzn2fzn so that the issueprobably does not occur in practice).[ENTRY]Module: setWhat: bugRank: minor[DESCRIPTION]Subscription to constant views did not honor the flag to avoidprocessing (did not occur in practice).[ENTRY]Module: intWhat: bugRank: minor[DESCRIPTION]Subscription to constant views did not honor the flag to avoidprocessing.[ENTRY]Module: exampleWhat: newRank: minor[DESCRIPTION]Added car sequencing example (problem 1 in CSPLib). Uses the newsequence-constraint.[ENTRY]Module: intWhat: newRank: majorAuthor: David Rijsman[DESCRIPTION]Added sequence constraint.[ENTRY]Module: driverWhat: newRank: minor[DESCRIPTION]Report if search engine has been stopped.[ENTRY]Module: flatzincWhat: bugRank: minor[DESCRIPTION]The global_cardinality constraint was not completely compatible withthe MiniZinc semantics. It would constrain values not mentioned in thearray to have zero occurrences, while in MiniZinc they are unrestricted.[ENTRY]Module: flatzincWhat: bugRank: majorThanks: Håkan Kjellerstrand[DESCRIPTION]Element constraints in reified positions produced an error in the mzn2fzntranslation.[RELEASE]Version: 3.2.1Date: 2009-11-04[DESCRIPTION]This release fixes one serious bug in the element constraint formatrices; adds branchings using accumulated failure counts (alsoknown as weighted degree); provides some optimizations (mostlyfor element constraints and for regular expressions with millionsof nodes); adds two cute models (word-square and crossword); anda little this and that as always.[ENTRY]Module: minimodelWhat: performanceRank: minorThanks: Håkan Kjellerstrand[DESCRIPTION]Conversion of a regular expression to a DFA would crash onregular expressions with several million nodes (due to runningout of call stack space).[ENTRY]Module: setWhat: changeRank: minor[DESCRIPTION]Split rel-op.cpp and rel-op-const.cpp into several compilation units, to avoidexcessive memory and time usage of the gcc compiler.[ENTRY]Module: intWhat: performanceRank: minor[DESCRIPTION]Element constraints for integer arrays now accept shared integerarrays (IntSharedArray). By this, the very same array can beshared among several element constraints. Models require nochange, as IntArgs are automatically coerced toIntSharedArrays. See "Modeling with Gecode" for moreexplanation.[ENTRY]Module: intWhat: changeRank: minor[DESCRIPTION]The semantics of division and modulo has changed to match the C standard. Thismeans that the operations round towards zero, and that the result of themodulo has the same sign as its first argument.[ENTRY]Module: exampleWhat: bugRank: minorThanks: Jan Wolter[DESCRIPTION]The Nonogram example no longer crashes on empty lines.[ENTRY]Module: intWhat: performanceRank: minor[DESCRIPTION]Optimized element for matrices (in special cases, the propagatoris up to six times as efficient as before).[ENTRY]Module: flatzincWhat: bugRank: minor[DESCRIPTION]Fixed statistics output (number of solutions was sometimes wrong).[ENTRY]Module: intWhat: bugRank: major[DESCRIPTION]Fixed segfault in matrix element constraint.[ENTRY]Module: exampleWhat: newRank: minorAuthor: Håkan Kjellerstrand[DESCRIPTION]Added word square puzzle.[ENTRY]Module: exampleWhat: newRank: minorThanks: Peter Van Beek[DESCRIPTION]Added crossword puzzle (thanks to Peter Van Beek for providingaccess to some crossword grids).[ENTRY]Module: intWhat: newRank: minor[DESCRIPTION]Added INT_VAL_RANGES_MIN (and INT_VAL_RANGES_MAX) as valueselection for branching: it tries the values from the smallest(largest) range first, if the variable's domain has severalranges, otherwise it splits the domain.[ENTRY]Module: intWhat: bugRank: minor[DESCRIPTION]Added missing dispose function for linear disequality of Booleanvariables (the only problem was that with a proper disposefunction more memory can be reused when the propagator becomessubsumed, so really a tiny quirk).[ENTRY]Module: intWhat: newRank: major[DESCRIPTION]Added AFC-based branching strategies for integer and Booleanvariables: INT_VAR_AFC_MIN, INT_VAR_AFC_MAX,INT_VAR_SIZE_AFC_MIN, INT_VAR_SIZE_AFC_MAX. For details, see"Modeling with Gecode".[ENTRY]Module: setWhat: newRank: major[DESCRIPTION]Added AFC-based branching strategies for set variables:SET_VAR_AFC_MIN, SET_VAR_AFC_MAX, SET_VAR_SIZE_AFC_MIN,SET_VAR_SIZE_AFC_MAX. For details, see "Modeling with Gecode".[ENTRY]Module: kernelWhat: newRank: major[DESCRIPTION]Propagators and variables now maintain an accumulated failurecount (AFC).[MORE]The AFC of a propagator counts how often has the propagatorfailed during the entire search, and the AFC of a variable is itsdegree plus the sum of the AFCs of all propagators depending onthe variable. While it looks straightforward, this required amajor extension of the Gecode kernel to deal with globalinformation accessed concurrently from several threads duringsearch. The AFC is also known as "weighted degree".[ENTRY]Module: exampleWhat: changeRank: minor[DESCRIPTION]Sudoku and GraphColor now uses smallest size over accumulated failurecount (AFC) as the default heuristic.[ENTRY]Module: bugWhat: setRank: minor[DESCRIPTION]For branching, SET_VAR_DEGREE_MAX would select the variable withsmallest rather than largest degree.[ENTRY]Module: otherWhat: changeRank: major[DESCRIPTION]Now posting of propagators and branchers take an object of classHome (rather than just a space) that can carry additionalinformation relevant for posting (for example, groups andaccumulated failure information). Models do not need to bechanged in any way![MORE]While models require no change, propagator rewriting does (itwill work but some information might be lost). Instead of writingsomething likeGECODE_REWRITE(*this,SomeProp::post(home,...));where *this is the propagator to be rewritten, you should nowwriteGECODE_REWRITE(*this,SomeProp::post(home(*this),...));By this, the new propagator will inherit information from *this(in particular the accumulated failure count).[RELEASE]Version: 3.2.0Date: 2009-10-05[DESCRIPTION]This release has some important bug fixes (in particular forglobal cardinality aka count), the documentation has beenimproved (worked around some issues with generation by doxygen),integrates the FlatZinc interpreter into the Gecode source tree,provides propagators for disjunctive scheduling (experimental),and lots of small changes and fixes. For more consistent names,branchings are branchers now and branching descriptions arechoices (this you might have to adapt to).[ENTRY]Module: schedulingWhat: newRank: major[DESCRIPTION]Added propagators for disjunctive scheduling (unary resourcescheduling). This is still experimental as the propagators arenot yet optimized and branching and modelling support is not yetavailable.[ENTRY]Module: searchWhat: bugRank: minor[DESCRIPTION]The memory reported could be sometimes too low (that could onlyhappen when an advisor allocates memory which they do only now).[ENTRY]Module: otherWhat: documentationRank: major[DESCRIPTION]Cleaned up the generated reference documentation, and introduced a numberof workarounds for issues in doxygen. In particular, the documentation forlinear constraints over Boolean variables and for the thread abstractionsis now generated properly.[ENTRY]Module: flatzincWhat: newRank: major[DESCRIPTION]The Gecode interpreter for the FlatZinc language is now part of the mainGecode source tree.[ENTRY]Module: intWhat: performanceRank: minorThanks: George Katsirelos, Nina Narodytska[DESCRIPTION]Extensional propagators using DFAs or REGs (aka regular) use amore compact state representation but create their state moreeagerly. That can improve performance considerably (twice as fast) at a slightincrease in memory.[ENTRY]Module: gistWhat: bugRank: minor[DESCRIPTION]Gist now places clones also on the leftmost branch during search.[ENTRY]Module: otherWhat: documentationRank: minorThanks: Vivian De Smedt[DESCRIPTION]Mention that also grep is needed for building Gecode.[ENTRY]Module: intWhat: bugRank: minorThanks: Jan Kelbel[DESCRIPTION]Slightly improved strength of the division propagator.[ENTRY]Module: exampleWhat: bugRank: minorThanks: Geoffrey Chu[DESCRIPTION]Fixed wrong symmetry breaking for TSP.[ENTRY]Module: supportWhat: changeRank: minorThanks: Alexandre Fayolle[DESCRIPTION]No longer depend on availability of timersub.[ENTRY]Module: intWhat: performanceRank: minor[DESCRIPTION]Optimized n-ary disjunction and conjunction and the clause constraint.[ENTRY]Module: intWhat: performanceRank: minor[DESCRIPTION]Linear constraints over Boolean variables with unit coefficients(aka Boolean cardinality constraints) have beenreimplemented. Less memory (minus 30%) and more speed. Forexample, BIBD runs 10% faster now.[ENTRY]Module: searchWhat: changeRank: minor[DESCRIPTION]Optimized thread creation by thread pools, now the creation anddeletion of arbitrarily many parallel search engines also worksfor platforms using pthreads (Linux and MacOS).[ENTRY]Module: otherWhat: changeRank: minorThanks: David Rijsman[DESCRIPTION]Compiles with MSVC 2005 again.[ENTRY]Module: otherWhat: bugRank: minor[DESCRIPTION]The configure script checked for Qt 4.2, although Gist requires at leastQt 4.3.[ENTRY]Module: intWhat: bugRank: major[DESCRIPTION]Fixed serious bug in the bounds propagator for global cardinality.[ENTRY]Module: kernelWhat: changeRank: major[DESCRIPTION]A branching is now a brancher and a branching description is now a choice.[MORE]Classes and member functions have been renamed accordingly. Thechange is necessary due to proper explanation in the forthcoming"Programming with Gecode".[ENTRY]Module: searchWhat: bugRank: minor[DESCRIPTION]Compiles again if no threads available.[ENTRY]Module: gistWhat: changeRank: minor[DESCRIPTION]The Gist console now has a toolbar that provides buttons to clear the textas well as to configure the console window to stay on top of Gist.Furthermore, after adding output, the console now automatically scrolls to thebottom.[ENTRY]Module: graphWhat: newRank: minor[DESCRIPTION]Cost-based variants for circuit added.[ENTRY]Module: setWhat: changeRank: minor[DESCRIPTION]The element constraint with an integer index variable now throwsan exception if used with an empty array.[ENTRY]Module: intWhat: changeRank: minor[DESCRIPTION]The element constraint now computes more accurate variable boundswhen being posted (to avoid arithmetic overflow in naive models).[ENTRY]Module: intWhat: changeRank: minor[DESCRIPTION]The element constraint now throws an exception if used with anempty array.[ENTRY]Module: exampleWhat: bugRank: minor[DESCRIPTION]Fixed zero cost edges in TSP examples.[ENTRY]Module: exampleWhat: changeRank: minor[DESCRIPTION]Examples now use the symmetry-option for symmetry-breaking.[MORE]The affected examples are: - BlackHole - EFPA - Pentominoes - SteelMill .[ENTRY]Module: driverWhat: newRank: minor[DESCRIPTION]Added new standard option for options called symmetry.[ENTRY]Module: intWhat: newRank: minorThanks: Kish Shen[DESCRIPTION]Added regret_min and regret_max for IntVar and BoolVar (they wereonly available for IntView).[ENTRY]Module: intWhat: changeRank: minor[DESCRIPTION]Moved cumulatives to the new scheduling library.[ENTRY]Module: schedulingWhat: newRank: minor[DESCRIPTION]Added a new module for scheduling. To use schedulingconstraints, you have to include <gecode/scheduling.hh> and linkagainst the scheduling library.[ENTRY]Module: intWhat: changeRank: minor[DESCRIPTION]Moved circuit to the new graph library.[ENTRY]Module: graphWhat: newRank: minor[DESCRIPTION]Added a new module for graph constraints. To use graphconstraints, you have to include <gecode/graph.hh> and linkagainst the graph library.[ENTRY]Module: exampleWhat: newRank: minor[DESCRIPTION]Added branching following Warnsdorff's heuristic for Knights.[ENTRY]Module: intWhat: newRank: minor[DESCRIPTION]Added branch and assign for single integer and Boolean variable.[ENTRY]Module: setWhat: newRank: minor[DESCRIPTION]Added branch and assign for single set variable.[ENTRY]Module: minimodelWhat: newRank: minorThanks: Håkan Kjellerstrand[DESCRIPTION]Added element constraints for Matrix interface to arrays.[ENTRY]Module: intWhat: newRank: minorThanks: Håkan Kjellerstrand[DESCRIPTION]Added element constraints for Matrix arrays.[ENTRY]Module: setWhat: newRank: minorThanks: Håkan Kjellerstrand[DESCRIPTION]Added element constraints for Matrix arrays.[ENTRY]Module: searchWhat: changeRank: minorThanks: Vincent Barichard[DESCRIPTION]Path for search provides top and empty methods.[ENTRY]Module: driverWhat: changeRank: minorBug: 59Thanks: Luca Di Gaspero[DESCRIPTION]The driver takes copies of all string values passed top it.[RELEASE]Version: 3.1.0Date: 2009-05-20[DESCRIPTION]This release introduces parallel search, features improved memorymanagement (can double efficiency on MacOS X), and provides areusable command line driver upon popular request. And, ofcourse, some this and that.[ENTRY]Module: setWhat: changeRank: minor[DESCRIPTION]The set constraint sequentialUnion has been renamed to sequence.[ENTRY]Module: exampleWhat: changeRank: minor[DESCRIPTION]The parameters of the Hamming Codes example are now configurablethrough command line options (instead of hard-coded).[ENTRY]Module: searchWhat: changeRank: minor[DESCRIPTION]The stop function of stop objects now also takes a second argumentof type Search::Options. This is in particular useful fordecisions that involve the number of threads used for search.[ENTRY]Module: searchWhat: newRank: major[DESCRIPTION]Added parallel search engines for DFS, BAB, and Restart (but notLDS). Please make sure to read the section "Parallel search" in"Modeling with Gecode".[MORE]Parallel search is still experimental: creating and destroying alarge number (more than 1000) of search engines (and hence alarge number of threads) might raise exceptions on operatingsystems using pthreads as thread implementation. This will befixed in a future release by using thread pools.[ENTRY]Module: supportWhat: newRank: minor[DESCRIPTION]Added a tiny portable thread package specifically tailored to theneeds for parallel search. Unfortunately, other portable threadpackages have just too many issues.[ENTRY]Module: gistWhat: bugRank: minor[DESCRIPTION]Fixed a dead lock that could occur when closing the Gist main window whilesearch is still running.[ENTRY]Module: gistWhat: bugRank: minor[DESCRIPTION]The inspectors are finalized before Gist exits. This fixes a bugwhere (at least on Mac OS) some memory was not freed in thecorrect order.[ENTRY]Module: gistWhat: bugRank: minor[DESCRIPTION]Gist now correctly centers the current node after search has finished.[ENTRY]Module: gistWhat: changeRank: minor[DESCRIPTION]Small user interface changes: disable search from hidden nodes, add depthinformation to status bar, and add statistics for subtrees (available from thenode context menu and the Node menu).[ENTRY]Module: gistWhat: changeRank: minor[DESCRIPTION]Easily add multiple inspectors to Gist. Inspectors are notexclusive any longer, you can select any combination of them torespond to clicks or solutions simultaneously.[ENTRY]Module: intWhat: changeRank: minor[DESCRIPTION]The INT_VAL_MED value selection now consistently selects the greatest elementin the domain not greater than the median.[ENTRY]Module: driverWhat: changeRank: minor[DESCRIPTION]If Gist is not available, -mode gist is the same as -modesolution. Invocation with -help also prints information about howGecode has been configured.[ENTRY]Module: exampleWhat: newRank: minor[DESCRIPTION]Added new example for equidistant frequency permutation arrays (EFPA).[ENTRY]Module: kernelWhat: performanceRank: major[DESCRIPTION]Cache memory blocks from deleted spaces. This hardly increasespeak memory consumption. It improves performance on Windows andLinux only by up to 5%, but on MacOS by 50% in some cases (thisimprovement is absolutely essential for parallel execution).[ENTRY]Module: setWhat: newRank: minor[DESCRIPTION]Added a wait propagator: executes a function when a variable (orvariables) become(s) assigned.[ENTRY]Module: intWhat: newRank: minor[DESCRIPTION]Added a wait propagator: executes a function when a variable (orvariables) become(s) assigned.[ENTRY]Module: driverWhat: newRank: major[DESCRIPTION]Added a new module "driver" as a commandline driver forscripts. This is due to popular request: most people have beenusing the support functionality for examples anyway. Thisfunction is now wrapped into a proper module (and Example isnow called Script to be more general). See "Modeling with Gecode"for documentation.[ENTRY]Module: supportWhat: newRank: minor[DESCRIPTION]Support::quicksort and Support::insertion support using the less thanoperator for the sort order by leaving out the comparator object.[RELEASE]Version: 3.0.2Date: 2009-03-26[DESCRIPTION]This is a bug fix release fixing two more embarrassingbugs. However, this time we redesigned our tests carefully suchthat they cover all changes and optimizations done for thetransition from 2.2.0 to 3.0.*. Please update asap.[ENTRY]Module: exampleWhat: bugRank: minorThanks: Håkan Kjellerstrand[DESCRIPTION]The radiotherapy example was missing in the Makefile.[ENTRY]Module: intWhat: bugRank: major[DESCRIPTION]Fixed bug in optimization of extensional constraints with DFAs(hard to reproduce, almost impossible).[ENTRY]Module: minimodelWhat: bugRank: majorThanks: Gustavo Guiterrez[DESCRIPTION]Fixed bug in posting of Boolean expressions including reifiedlinear expressions. Again, that escaped our testsuite (alsofixed).[ENTRY]Module: intWhat: performanceRank: minor[DESCRIPTION]Reoptimized element with integer values and created bizarretestcases.[ENTRY]Module: gistWhat: changeRank: minor[DESCRIPTION]A separator is printed between solutions in the TextInspector.[RELEASE]Version: 3.0.1Date: 2009-03-24[DESCRIPTION]This is a bug fix release fixing two embarrassing bugs that werenot caught by our test infrastructure. Please update asap.[ENTRY]Module: intWhat: bugRank: majorThanks: Vincent Barichard[DESCRIPTION]Fixed bug in element with integer values.[ENTRY]Module: intWhat: bugRank: minor[DESCRIPTION]IntSetArgs no longer inherit from PrimArgArray, which was wrongas IntSet is no primitive type and hence does not support vararginitializers.[ENTRY]Module: exampleWhat: bugRank: minor[DESCRIPTION]The examples now pass the c-d and a-d command line options correctly to Gist.[ENTRY]Module: intWhat: bugRank: majorThanks: Alberto Delgado[DESCRIPTION]Fixed bug in reified Boolean linear constraints (an optimizationis currently disabled and will be active in the next release: theoptimization was incorrect and was never tested).[ENTRY]Module: exampleWhat: bugRank: minorBug: 56Thanks: Chris Mears[DESCRIPTION]The Steel Mill Slab Design example had two bugs in the searchheuristic and a missing redundant constraint.[ENTRY]Module: exampleWhat: newRank: minor[DESCRIPTION]Added new example for Radiotherapy.[RELEASE]Version: 3.0.0Date: 2009-03-13[DESCRIPTION]This release is a major consolidation release: interfaces havebeen cleaned up (consistent parameter passing, consistent naming,simpler Gist interface, namespaces for operator overloading);some functionality has been extended (propagators can benon-monotonic; branchings support tie-breaking and randomvariable and value selection); some functionality that did notmeet our quality goals has been removed (complete set variables,reflection); usage has been simplified (auto-linking on Windows,more commonly used filename extensions); important aspects havebeen optimized (memory management, memory usage and efficiency on64bit machines). These cleanups were in particular necessary tomake %Gecode easier to document (this release is the first to beaccompanied by tutorial documentation explaining how to modelwith %Gecode).Apart from that, many small fixes and additions. Please see belowfor the details.As the interfaces have changed considerably, please consult \refPageHowToChange_3 "How to Change to Gecode 3.0.0".[ENTRY]Module: exampleWhat: performanceRank: minorThanks: Håkan Kjellerstrand[DESCRIPTION]Improved branching for Nonogram examples.[ENTRY]Module: setWhat: bugRank: minorThanks: Stefano Gualandi[DESCRIPTION]Fixed bug in creation of set variables.[ENTRY]Module: kernelWhat: bugRank: majorThanks: Vincent Barichard[DESCRIPTION]Updating of a council of advisors crashed if a propagator has noadvisors (as we had no example of this kind of propagators).[ENTRY]Module: setWhat: changeRank: minor[DESCRIPTION]Element and convexity constraints on set variables have a moreuniform interface, and the match constrained has been renamed tochannel.[ENTRY]Module: gistWhat: changeRank: minor[DESCRIPTION]Gist now takes an optional argument specifying options for thesearch, including the inspectors to be used. The Qt interface hasbeen cleaned up, so that Gist is easier to extend.[ENTRY]Module: gistWhat: newRank: minor[DESCRIPTION]Added inspectors that react on every solution instead of a doubleclick.[ENTRY]Module: intWhat: changeRank: minor[DESCRIPTION]A TupleSet must be finalized before an extensional constraint canbe posted using it.[ENTRY]Module: setWhat: removedRank: minor[DESCRIPTION]Removed automatically generated set projectors, they will comeback eventually. This makes no change to the availablefunctionality for set variables.[ENTRY]Module: cpltsetWhat: removedRank: major[DESCRIPTION]Complete sets have been removed (just not good enough).[ENTRY]Module: kernelWhat: newRank: minorAuthor: Filip Konvicka[DESCRIPTION]Integrated space and region-based allocators that work with STLclasses.[ENTRY]Module: intWhat: bugRank: minor[DESCRIPTION]Fixed bug in domain consistent min and max propagators.[ENTRY]Module: intWhat: performanceRank: majorAuthor: Tias Guns[DESCRIPTION]Integrated an efficient implementation of reified linearconstraints over Boolean variables.[ENTRY]Module: exampleWhat: bugRank: minorThanks: Stefano Gualandi[DESCRIPTION]A bug in the independent set example has been fixed (most edgeswere ignored).[ENTRY]Module: setWhat: newRank: minor[DESCRIPTION]More set branching strategies have been added (for instance random variableand value selection), as well as set assignment.[ENTRY]Module: otherWhat: removedRank: major[DESCRIPTION]All support for reflection has been removed: not clean enough,not powerful enough, too difficult, and too much trouble.[ENTRY]Module: kernelWhat: newRank: minorThanks: Denys Duchier[DESCRIPTION]Added support for synchronized execution during branching(executes a function).[ENTRY]Module: kernelWhat: changeRank: major[DESCRIPTION]The specification of propagation cost has changed. It now must becomputed by the static member functions of the classGecode::PropCost.[ENTRY]Module: intWhat: newRank: minor[DESCRIPTION]Added support for synchronized execution that executes a functionor a static member function when a Boolean variable becomesassigned (called when).[ENTRY]Module: intWhat: changeRank: minorThanks: David Rijsman[DESCRIPTION]Make the variable deltas generated for minus_r more meaningful ifpossible.[ENTRY]Module: iterWhat: documentationRank: minorThanks: Anden Blah, Morten Boysen[DESCRIPTION]Mention that arrays for Iter::Values::Arrays must be sorted.[ENTRY]Module: intWhat: bugRank: majorThanks: Roland Yap Hock Chuan[DESCRIPTION]Fixed off-by-one bug in extensional for DFAs.[ENTRY]Module: kernelWhat: changeRank: minor[DESCRIPTION]The clone operation on spaces is now const.[ENTRY]Module: intWhat: changeRank: minor[DESCRIPTION]TupleSet now accepts duplicate tuples.[ENTRY]Module: intWhat: changeRank: minor[DESCRIPTION]Renamed size() to ranges() for IntSet (returning the number ofranges). Added a size() and width() function that return the sizeand width of the set respectively.[ENTRY]Module: kernelWhat: changeRank: minor[DESCRIPTION]Introduced CopiedHandle as a new base class for SharedHandle.[MORE]A copied handle provides access to an object that is used byentities in a space, and that is copied when then space iscopied. This abstraction can be used e.g. to pass informationbetween different entities in a space, such as betweenpropagators and branchings.[ENTRY]Module: supportWhat: bugRank: minorThanks: Michal Dobrogost[DESCRIPTION]Sorting (quicksort and insertion) require strict orders and nowwork with arrays of more than 2^32 elements.[ENTRY]Module: intWhat: newRank: minor[DESCRIPTION]Integer sets can now be initialized from integer argument arrays.[ENTRY]Module: otherWhat: bugRank: minorThanks: Chris Mears[DESCRIPTION]Output operators (<<) now respect formatting width and work withoutput streams using arbitrary character types.[ENTRY]Module: kernelWhat: changeRank: minorThanks: Denys Duchier[DESCRIPTION]Made macros semicolon-safe.[ENTRY]Module: setWhat: bugRank: minorThanks: Denys Duchier[DESCRIPTION]Fixed constructors for set variables. They now throw proper exceptions whentrying to create empty variable domains.[ENTRY]Module: setWhat: newRank: minorThanks: Denys Duchier[DESCRIPTION]Added reified propagators constraining an integer variable to be the minimumor maximum element of a set variable.[ENTRY]Module: intWhat: removedRank: minor[DESCRIPTION]Support for PropKind has been removed for all but extensional constraints.[ENTRY]Module: intWhat: newRank: minor[DESCRIPTION]Domain constraints (dom) also accept integers now.[ENTRY]Module: otherWhat: changeRank: majorThanks: Max[DESCRIPTION]All operators are now in their correct namespace.[ENTRY]Module: minimodelWhat: changeRank: minor[DESCRIPTION]LinExpr, LinRel, BoolExpr are now part of the Gecode namespacerather than Gecode::MiniModel (to support operator resolution).[ENTRY]Module: testWhat: newRank: minor[DESCRIPTION]Tests for testing claims of bounds(Z) and bounds(D) consistency. Thesetests would have found the bug in the binary min and max propagators.[MORE]An integer test can enable these new tests by setting the contest memberto CTL_BOUNDS_Z or CTL_BOUNDS_D. For domain-consistency propagatorsthe contest member is set automatically to CTL_DOMAIN. If noconsistency-testing should be done, contest should be set to CTL_NONE.[ENTRY]Module: searchWhat: newRank: minor[DESCRIPTION]The search engines now collect statistics for the number of nodesvisited and the maximum depth of the search tree. The informationfor number of clone and commit operations has been removed as itwas too confusing.[ENTRY]Module: searchWhat: newRank: major[DESCRIPTION]Search engines have been completely reimplemented.[ENTRY]Module: intWhat: bugRank: minorThanks: Jonathan Cederberg[DESCRIPTION]The binary min and max propagators did not do all pruning theyshould do.[MORE]Given the constraint x = max(y,z) with the store {x->{1,2,3},y->{1,2}, z->{3}}, propagation did not yield any new information(now it gives the correct result {x->{3}, y->{1,2}, z->{3}}).[ENTRY]Module: exampleWhat: newRank: minor[DESCRIPTION]New example: the steel mill slab design problem (Problem 38 in <ahref="http://csplib.org">CSPLib</a>).[MORE]The model used is from Gargani and Refalo, "An efficient model andstrategy for the steel mill slab design problem.", CP 2007. Thesymmetry-breaking search is from Van Hentenryck and Michel, "The SteelMill Slab Design Problem Revisited", CPAIOR 2008.[ENTRY]Module: iterWhat: bugRank: minorThanks: Stefano Gualandi[DESCRIPTION]Fixed init method of SingletonAppend range iterator.[ENTRY]Module: exampleWhat: bugRank: minor[DESCRIPTION]Fixed a bug in the extensional propagation-version of the domino example.[ENTRY]Module: otherWhat: newRank: minor[DESCRIPTION]For the Microsoft compiler, auto-link information is added duringcompilation.[MORE]That is, by including %Gecode headers duringcompilation the right libraries will be found automaticallyduring linking. To simplify development and deployment, thelibraries (and DLLs) encode version, platform, and build type(release or debug) in their filename.[ENTRY]Module: minimodelWhat: performanceRank: minor[DESCRIPTION]Posting constraints according to Boolean expressions now uses anegation normalform and by this avoids any propagator fornegation and uses fewer propagators due to the new clause constraint.[ENTRY]Module: otherWhat: changeRank: major[DESCRIPTION]Changed naming scheme for files.[MORE]All files with extension .cc have been renamed to .cpp, and .icchas become .hpp. This avoids conflicts as .icc is typically usedfor other file types. All include directives are now specifiedusing <...> notation instead of "...", so that %Gecode headers donot clutter the include namespace of a client program.[ENTRY]Module: minimodelWhat: changeRank: minor[DESCRIPTION]The Matrix class is now in the Gecode namespace (and not inGecode::MiniModel).[ENTRY]Module: setWhat: changeRank: minor[DESCRIPTION]Reorganized the internal data structures of set variables so that eachvariable takes up 8 bytes less memory on 64 bit machines.[ENTRY]Module: kernelWhat: changeRank: minor[DESCRIPTION]The index structure for variable dependencies is now implemented using integersinstead of pointers, saving memory on 64 bit machines.[MORE]For example, the indexstructure of integer variables is now 40% smaller, for Boolean variables(which have the smallest possible index structure) we still save 16%.[ENTRY]Module: intWhat: newRank: minor[DESCRIPTION]Added a Boolean clause constraint that supports conjunction anddisjunction of both positive and negative variables.[ENTRY]Module: intWhat: performanceRank: minor[DESCRIPTION]Now n-ary Boolean disjunction and conjunction are constant time(rather than linear time, as before), even when a variable forthe result is used.[ENTRY]Module: kernelWhat: changeRank: major[DESCRIPTION]%Gecode now supports weakly monotonic propagators.[MORE]A weakly monotonic propagator must only be able to decide forassignments whether they are solutions or not (which is a verynatural property as it means the propagator must be a correctimplementation of a constraint). Otherwise, the propagator doesnot have to be monotonic, it can even be indeterministic.Weakly monotonic but not monotonic propagators must notify aspace about their existence: if a weakly monotonic propagator iscreated, it must execute "home.notice(*this,AP_WEAKLY)"; if it isdisposed, it must execute "home.ignore(*this,AP_WEAKLY)".[ENTRY]Module: kernelWhat: changeRank: minor[DESCRIPTION]The functions force and unforce of an actor to force disposalhave been removed.[MORE]Now, the new interface based on notice and ignore using actorproperties must be used instead. So, instead of "force(home)",write "home.notice(*this,AP_DISPOSE)" and, instead of"unforce(home)", write "home.ignore(*this,AP_DISPOSE)".[ENTRY]Module: intWhat: performanceRank: minor[DESCRIPTION]The incremental extensional propagator for tuplesets uses lessmemory (around 25%) and reports its size correctly.[ENTRY]Module: intWhat: performanceRank: minor[DESCRIPTION]The element propagator for integer arrays now choosesdatastructures according to and the elements of the array.[MORE]This can save more than 80% memory on a 64 bit machine, and up to75% on a 32 bit machine. In common cases, one can expect areduction by at least 50%.[ENTRY]Module: intWhat: performanceRank: minor[DESCRIPTION]The regular propagator now chooses datastructures according tothe size of the DFA. This can save up to 80% memory on a 64 bitmachine, and still up to 50% on a 32 bit machine.[ENTRY]Module: kernelWhat: changeRank: minor[DESCRIPTION]The home space is now also passed to the cost function of a propagator.[ENTRY]Module: otherWhat: changeRank: major[DESCRIPTION]Now everything is passed as reference (Space, Propagator,ModEventDelta, Advisor, Branching, and BranchingDesc).[MORE]The reason for this massive change is to be more C++ compliantand make the interfaces more consistent (at some places thingswere passed as references and at other places as pointers, for noobvious and explainable reason). Routines that create objectsrather than pass them (such as copy, clone, or description) stillreturn a pointer to an object (so that it can actually bedeleted!).You will have to rewrite your models and other programs using%Gecode. For models this is easy enough: - Replace "(Space* home" by "(Space& home". - Replace "home->" by "home.". - Replace "(this" by "(*this". .That should do the trick for 99% of the models.For the other changes, just lookout for the changes in types andthat "this" becomes "*this" now.[ENTRY]Module: otherWhat: changeRank: major[DESCRIPTION]The memory management has been completely reworked.[MORE]It is now more robust, more portable (does not use alloca anylonger), more efficient, fits C++ better and is much easier toounderstand. There are now three memory areas: a single heap,spaces, and regions. Heap and spaces are as before. A region (anobject of class Region) is a simple and very efficient memorymanager for temporary memory managed in a stack fashion. Thesethree memory managers provide uniform operations for allocation(alloc), deallocation (free), and reallocation (realloc). Theseoperations use constructors, destructors, and assignmentoperators as required by C++ and are implemented with efficientspecializations for basic data types.[ENTRY]Module: supportWhat: removedRank: minor[DESCRIPTION]PQueue has been removed (too specialized to be reused anyway).[ENTRY]Module: supportWhat: removedRank: minor[DESCRIPTION]GECODE_AUTOARRAY has been removed. Use a Region for memorymanagement instead.[ENTRY]Module: supportWhat: removedRank: minor[DESCRIPTION]GECODE_AUTOSTACK and SentinelStack has been removed. UseStaticStack instead.[ENTRY]Module: intWhat: performanceRank: minor[DESCRIPTION]Simpler and more efficient memory management for elementpropagators (integer arrays).[ENTRY]Module: kernelWhat: changeRank: minor[DESCRIPTION]All functions for checking sharing for arrays (same, shared,unique) require a space argument (for memory management).[ENTRY]Module: minimodelWhat: newRank: minor[DESCRIPTION]Added MinimizeSpace and MaximizeSpace classes for cost-basedoptimization (requires implementing a cost function returning aninteger cost variable). Optimization can now be implemented byinheriting from these classes rather than from Space and byimplementing a cost function.[ENTRY]Module: kernelWhat: changeRank: minor[DESCRIPTION]The description() member function of a space is not any longerconst: it can be called at most once.[ENTRY]Module: kernelWhat: changeRank: major[DESCRIPTION]The constrain method used for best solution search must bevirtual and takes an argument of type const Space& rather thanSpace* as argument.[ENTRY]Module: intWhat: changeRank: major[DESCRIPTION]Tie-breaking and random selection for branch is now supported.[ENTRY]Module: setWhat: changeRank: major[DESCRIPTION]The values for variable and value selection for branching havebeen made consistent and extended.[MORE]The following values have been renamed: - SET_VAR_MIN_CARD -> SET_VAR_SIZE_MIN - SET_VAR_MAX_CARD -> SET_VAR_SIZE_MAX - SET_VAR_MIN_UNKNOWN_ELEM -> SET_VAR_MIN_MIN - SET_VAR_MAX_UNKNOWN_ELEM -> SET_VAR_MAX_MAX - SET_VAL_MIN -> SET_VAL_MIN_INC - SET_VAL_MAX -> SET_VAL_MAX_INC .Tie-breaking and random selection is now supported.[ENTRY]Module: intWhat: changeRank: minor[DESCRIPTION]The variable selection INT_VAR_DEGREE_MIN and INT_VAR_DEGREE_MAXdo not have tiebreaking with smallest domain size built in.[MORE]The old behavior can be reclaimed by explicit tiebreaking, forexample replace INT_VAR_DEGREE_MAX bytiebreak(INT_VAR_DEGREE_MAX,INT_VAR_SIZE_MIN).[ENTRY]Module: kernelWhat: changeRank: major[DESCRIPTION]View and value branchings have been completely reimplemented to supporttie-breaking and state (for randomized selection).[ENTRY]Module: kernelWhat: removedRank: major[DESCRIPTION]View and value assignments have been removed as they now can beexpressed by view and value branchings.[RELEASE]Version: 2.2.0Date: 2008-08-25[DESCRIPTION]This release adds many domain consistent propagators forarithmetic constraints and fixes a number of bugs. Some of thesebugs fixed are potentially serious, in particular as they occurvery seldom. Please change to 2.2.0 as soon as possible (inparticular if you are using the 64bit Microsoft Visual C++compiler). And, of course, the usual small fixes and changes.[ENTRY]Module: kernelWhat: bugRank: major[DESCRIPTION]Fixed a bug in the memory alignment on Windows 64bit (very hard to reproduce).[ENTRY]Module: otherWhat: newRank: minor[DESCRIPTION]Added configure options for adding a prefix and a suffix to the names of thecompiled libraries.[ENTRY]Module: intWhat: bugRank: major[DESCRIPTION]Fixed a bug in the domain consistent distinct propagator that would causea stack overflow under rare circumstances.[ENTRY]Module: setWhat: bugRank: major[DESCRIPTION]The ternary intersection propagator was incorrect if any of the sets had amaximum cardinality of Set::Limits::card.[ENTRY]Module: intWhat: newRank: minorThanks: Raphael Reischuk[DESCRIPTION]The attempt to access the value of an unassigned integer orBoolean variable (IntVar or BoolVar) throws an exception now.[ENTRY]Module: intWhat: newRank: minor[DESCRIPTION]Added bounds consistent division/modulo propagator.[ENTRY]Module: intWhat: changeRank: minor[DESCRIPTION]All functional linear and arithmetic constraints now put sharpbounds on the output variable (eases interfacing to modellinglanguages).[ENTRY]Module: intWhat: newRank: minor[DESCRIPTION]The channel constraint now comes in a version that allows to specify offsetsto the array indices.[ENTRY]Module: exampleWhat: removedRank: minor[DESCRIPTION]Example-based support for SAC (singleton arc consistency) hasbeen removed. Might be reintroduced later in a more generalfashion.[ENTRY]Module: otherWhat: newRank: minor[DESCRIPTION]The Makefile has a new target, check, which performs a minimal integrity checkusing some tests from the test suite.[ENTRY]Module: setWhat: changeRank: minor[DESCRIPTION]The set selection constraints are now called element.[ENTRY]Module: intWhat: bugRank: minor[DESCRIPTION]Fixed bug for domain-consistent distinct that never occurred inpractice.[ENTRY]Module: kernelWhat: bugRank: minor[DESCRIPTION]Fixed bug that could potentially have affected certain stagedpropagators.[ENTRY]Module: kernelWhat: documentationRank: minorThanks: David Rijsman[DESCRIPTION]Fixed explanation of ES_FIX and ES_NOFIX for advisors(description was mixed up).[ENTRY]Module: otherWhat: changeRank: minor[DESCRIPTION]The configure script now always uses the Microsoft compiler on Windows. Usethe CC and CXX environment variables to override this if you want to usegcc.[ENTRY]Module: intWhat: newRank: minor[DESCRIPTION]Added domain consistent multiplication propagator.[ENTRY]Module: kernelWhat: bugRank: majorThanks: Filip Konvicka[DESCRIPTION]Generated variable stubs were wrong (could only be observed fornew variable types).[ENTRY]Module: intWhat: bugRank: minorThanks: David Rijsman[DESCRIPTION]Cumulatives did not do all the pruning it should do.[ENTRY]Module: intWhat: bugRank: minor[DESCRIPTION]Fixed bug in element with IntArgs and sharing between the two IntVars.[ENTRY]Module: intWhat: bugRank: minorThanks: Jaroslav Mlejnek[DESCRIPTION]Fixed bug in sqrt.[ENTRY]Module: intWhat: bugRank: minorThanks: David Rijsman[DESCRIPTION]Fixed bug in ValSplitMin::branchingSpec.[ENTRY]Module: kernelWhat: removedRank: minor[DESCRIPTION]Removed ViewTuple. Just not useful enough...[ENTRY]Module: kernelWhat: changeRank: minor[DESCRIPTION]Cleaned up Reflection::Var type, overloading did not conform to the C++standard.[ENTRY]Module: intWhat: newRank: minor[DESCRIPTION]Added domain consistent minimum (min) and maximum (max) propagators.[ENTRY]Module: intWhat: newRank: minor[DESCRIPTION]Added domain consistent square root propagator (sqrt).[ENTRY]Module: intWhat: newRank: minor[DESCRIPTION]Added domain consistent squaring propagator (sqr).[ENTRY]Module: intWhat: documentationRank: minor[DESCRIPTION]Added documentation for domain consistent absolute value (abs) propagator.[ENTRY]Module: intWhat: newRank: minor[DESCRIPTION]Added reified propagators for relations over Boolean variables.[RELEASE]Version: 2.1.1Date: 2008-03-06[DESCRIPTION]This is a bugfix release.[ENTRY]Module: intWhat: bugRank: minor[DESCRIPTION]Non-shared copying of dfa was broken (matters only for parallel execution).[ENTRY]Module: kernelWhat: bugRank: major[DESCRIPTION]The generated med_updated function was incorrect, resulting in potentialcrashes of programs that use SetVars.[ENTRY]Module: cpltsetWhat: documentationRank: minor[DESCRIPTION]The CpltSet variables are now in the correct documentation group.[ENTRY]Module: gistWhat: bugRank: minor[DESCRIPTION]Fixed redraw artefacts on Windows.[ENTRY]Module: otherWhat: bugRank: minor[DESCRIPTION]Fixed boost serialization.[ENTRY]Module: kernelWhat: bugRank: minor[DESCRIPTION]Made the constructor of Reflection::Var explicit, otherwise overloading foroutput stream operators does not work as expected.[RELEASE]Version: 2.1.0Date: 2008-02-29[DESCRIPTION]This release makes two essential contributions: a partlyreimplemented kernel that is faster, is simpler, and uses lessmemory and lots of small and not so small fixes. This release isthe first release where really everything that we can test(rather than everything that we initially believed to matter) hasbeen systematically tested. So, better switch now to 2.1.0!Apart from that, the value range for variables has been increased(basically, 32 bits minus three values, so that is 32 bits), the reflectionAPI is now fully functional and no longer considered experimental, and we havethe usual small additions.[ENTRY]Module: intWhat: newRank: minor[DESCRIPTION]Added interface to extensional constraints defined by TupleSets withBoolVars.[ENTRY]Module: minimodelWhat: bugRank: major[DESCRIPTION]Reimplemented linear expressions from scratch, they were justhopelessly screwed.[ENTRY]Module: minimodelWhat: bugRank: minor[DESCRIPTION]Added work-around for compiler bug in MSVC.[ENTRY]Module: minimodelWhat: newRank: minor[DESCRIPTION]Support reified linear expressions with Boolean variables.[ENTRY]Module: intWhat: changeRank: minor[DESCRIPTION]Throw an exception if variables occur multiply for array-basedchannel constraints.[ENTRY]Module: intWhat: bugRank: minor[DESCRIPTION]Fixed multiplication propagator for x*y=x.[ENTRY]Module: searchWhat: changeRank: major[DESCRIPTION]All search engines now take an option value for configurationinstead of individual arguments for recomputation, stop objects,etc.[ENTRY]Module: minimodelWhat: removedRank: minor[DESCRIPTION]Removed scheduling abstractions.[ENTRY]Module: intWhat: removedRank: minor[DESCRIPTION]Removed extensional constraints with offset arguments.[ENTRY]Module: minimodelWhat: newRank: minor[DESCRIPTION]All minimodel functionality now understands both IntConLevel andPropKind arguments.[ENTRY]Module: setWhat: bugRank: major[DESCRIPTION]Fixed bugs in several set constraints:rel(Space*,SetVar,IntRelType irt,IntVar) for irt=IRT_NQ,rel(Space*,SetVar,SetOpType sot,const IntSet&,SetRelType srt,SetVar) forsot=SOT_MINUS, srt=SRT_SUP, selectDisjoint, selectUnion with constant IntSetarguments, dom with SRT_NQ.[ENTRY]Module: kernelWhat: bugRank: minor[DESCRIPTION]Fixed bug in unreflection of empty VarArrays.[ENTRY]Module: linearWhat: bugRank: major[DESCRIPTION]Fixed overflow checking error in linear constraints.[ENTRY]Module: minimodelWhat: newRank: minor[DESCRIPTION]Added sqrt function.[ENTRY]Module: intWhat: newRank: minor[DESCRIPTION]Added sqrt propagator.[ENTRY]Module: intWhat: newRank: minor[DESCRIPTION]Added sqr post function.[ENTRY]Module: intWhat: bugRank: minor[DESCRIPTION]The overloaded versions of dom for variable arrays could not beresolved automatically.[ENTRY]Module: intWhat: newRank: minor[DESCRIPTION]Added missing branching for INT_VAR_SIZE_DEGREE_MIN andINT_VAR_SIZE_DEGREE_MAX for Boolean variables.[ENTRY]Module: minimodelWhat: bugRank: majorThanks: Stanimir Dragiev[DESCRIPTION]Fixed bug in posting linear expressions.[ENTRY]Module: intWhat: performanceRank: minor[DESCRIPTION]IntSet have been reimplemented for efficiency.[ENTRY]Module: otherWhat: documentationRank: minorThanks: Martin Mann[DESCRIPTION]Function prototypes are now highlighted in the detailed function documentation.[ENTRY]Module: intWhat: removedRank: minor[DESCRIPTION]The offset arguments for element constraints have been removed, as you cansimply add dummy elements to the array to achieve the same effect.[ENTRY]Module: setWhat: removedRank: minor[DESCRIPTION]The offset arguments for selection constraints have been removed, as you cansimply add dummy elements to the array to achieve the same effect.[ENTRY]Module: otherWhat: newRank: major[DESCRIPTION]The serialization library now contains a registry of all the %Gecode postfunctions. This makes interfacing to %Gecode much easier. The registry isautomatically generated from the post functions defined in gecode/int.hh andgecode/set.hh.[ENTRY]Module: kernelWhat: changeRank: minor[DESCRIPTION]Cleaned up reflection. Unreflection is now part of the kernel instead of theserialization library. Branchings now provide a human-readable description ofa BranchingDesc. The name function of a Propagator has been renamed to ati(actor type identifier). All reflection is now const where possible.Unreflection of variables now checks dynamically that the variable typesmatch. Unreflection of propagators checks the number of arguments. Atutorial-style section on reflection has been added to the documentation.[ENTRY]Module: setWhat: changeRank: major[DESCRIPTION]The limits for set variables have been moved from Limits::Set toSet::Limits.The range of set variables has been adapted to the range ofinteger variables. For example, on a standard machine(regardless of 32 or 64 bits), a set can hold values from -2^30+2to 2^30-2, its maximum cardinality therefore is 2^31-3.[ENTRY]Module: intWhat: changeRank: major[DESCRIPTION]The limits for set variables have been moved from Limits::Set toSet::Limits.The range of integer variables have been extended by one bit. Forexample, on a standard machine (regardless of 32 or 64 bits), thelargest possible integer value for an integer variable is 2^31-2,the smallest -2^31+2. With other words, only the integer values2^31-1, -2^31, and -2^31+1 are missing from the two-complementrepresentation (and we will never use these values for the sakeof mental sanity. We promise.).[ENTRY]Module: intWhat: bugRank: minor[DESCRIPTION]Distinct with integer offsets checks accurately for overflow now.[ENTRY]Module: intWhat: performanceRank: minor[DESCRIPTION]Boolean variables consume 20% less memory.[ENTRY]Module: kernelWhat: changeRank: major[DESCRIPTION]Only stable and non-failed spaces can be cloned, otherwiseSpace::clone raises an exception. This makes cloning andpropagation fully orthogonal. To emulate the old behavior, justexecute Space::status before Space::clone.[ENTRY]Module: kernelWhat: changeRank: minor[DESCRIPTION]The number of propagators and branchings can be accuratelyretrieved from both failed and non-stable spaces.[ENTRY]Module: examplesWhat: newRank: minor[DESCRIPTION]Added an example that interprets a JavaScript program and runs a search of themodel that the program encodes. This is an example of how to use theJavaScript interpreter. A simple JavaScript model for n-Queens has been added,too.[ENTRY]Module: kernelWhat: newRank: minor[DESCRIPTION]A generic variable class has been added that can be used for interfacing. Itcan store arbitrary %Gecode variables (e.g. IntVar and SetVar), and cast themback using a run-time type check. The update, reflection, and outputoperations are implemented through the reflection registry.[ENTRY]Module: otherWhat: newRank: major[DESCRIPTION](De-)Serialization to and from JavaScript added.[ENTRY]Module: otherWhat: changeRank: major[DESCRIPTION]Both the cost and propagate function of a propagator take thecurrent modification event delta as input. Likewise,retrieving the modification event for a particular View must usethe static function View::me with the passedmodification event delta. Again, this feature committed the kernel to aparticular implementation which might not be available in thefuture.[ENTRY]Module: kernelWhat: changeRank: minor[DESCRIPTION]Views and variables do not any longer reveal whether they havebeen modified: this feature committed the kernel to a particularimplementation which might not be available in the future.[ENTRY]Module: exampleWhat: newRank: minor[DESCRIPTION]Simple Singleton Arc Consistency pre-processing has been added as anoptional step for examples.[ENTRY]Module: kernelWhat: changeRank: major[DESCRIPTION]The kernel has undergone some cleanups and improvements (much ofit got actually reimplemented): - Automatically generated stubs for variable implementations are directly inlined into the kernel. This improves performance, but more importantly, lifts some limits on the number of variables. Now, the only limit is that the sum of the ceiling of the logarithms of the number of modification events of all variables does not exceed 32 (as an estimate, the kernel now can handle around 10 to 16 variable types). Moreover, if the need for more variable types arises this is straightforward to do. - The addition of new variable types for users has been simplified. - The main propagation loop has been entirely rewritten (much much simpler). Now, the kernel does not optimize any longer for the case that a variable is modified more than once during propagator execution. While this changes the asymptotic complexity, it reduces the propagator execution overhead by up to 30%. And a propagator is still free to make sure that a variable is modified only once (many propagators do that already). - Variable implementations became smaller by one word. Now variable implementations are optimal in the sense that no additional memory is needed for cloning or book-keeping, the memory required for propagation is sufficient. - Spaces have lost some weight as memory for datastructures only used during cloning or propagation are shared (saves some 25% of memory per space).[ENTRY]Module: kernelWhat: changeRank: major[DESCRIPTION]Propagator modification events have been renamed to modification eventdeltas (because that is what they are).[ENTRY]Module: kernelWhat: changeRank: minor[DESCRIPTION]To not confuse variable implementations with variables, variableimplementations are now always called VarImp, and not Variable.[ENTRY]Module: gistWhat: newRank: major[DESCRIPTION]The %Gecode Interactive Search Tool (Gist), a Qt-based graphical searchengine, is now part of the main %Gecode distribution. It is currently includedas an experimental beta preview and may not be completely stable yet.[RELEASE]Version: 2.0.1Date: 2008-02-07[DESCRIPTION]This is a bug-fix only release. Very unfortunately, it fixesthree serious bugs in search (LDS, Restart, and assignmentbranchings). We highly encourage you to switch to Gecode 2.0.1 assoon as possible.[ENTRY]Module: testWhat: bugRank: minor[DESCRIPTION]Fixed memory leak in reflection tests.[ENTRY]Module: setWhat: bugRank: minor[DESCRIPTION]Fixed memory leak in set projection propagators.[ENTRY]Module: intWhat: bugRank: minor[DESCRIPTION]Fixed memory leak in IntSet.[ENTRY]Module: testWhat: newRank: major[DESCRIPTION]Added comprehensive tests for all search engines.[ENTRY]Module: searchWhat: bugRank: major[DESCRIPTION]Assignment branchings wrongly reported that they feature two alternativesrather than one.[ENTRY]Module: searchWhat: bugRank: majorThanks: Stefano Gualandi[DESCRIPTION]LDS had numerous quirks. It has been fixed and greatly improved:it detects when the entire search tree has been probed,independent of the maximal discrepancy.[ENTRY]Module: searchWhat: bugRank: majorThanks: Stefano Gualandi[DESCRIPTION]Restart was broken in case the problem failed immediately withpropagation only, both when being initialized or when requestinga next solution.[ENTRY]Module: iterWhat: bugRank: minorThanks: David Barton[DESCRIPTION]Changed Ranges::Diff to make older versions of gcc happy.[ENTRY]Module: otherWhat: bugRank: minorThanks: David Barton[DESCRIPTION]Fixed linking order so that static linking works again.[ENTRY]Module: intWhat: newRank: minorThanks: Mohamad Rabbath[DESCRIPTION]Re-added reified linear constraints for Boolean variables.[ENTRY]Module: intWhat: bugRank: minor[DESCRIPTION]Domain-consistent abs could crash in certain (extremely rare) border cases.[ENTRY]Module: kernelWhat: bugRank: major[DESCRIPTION]Static initialization order was undefined, making reflection work unreliably.In particular, linking Gecode statically did not work.[ENTRY]Module: intWhat: bugRank: minor[DESCRIPTION]Initializing an IntVar with an empty IntSet did not throw the appropriateexception but crashed.[ENTRY]Module: kernelWhat: bugRank: minor[DESCRIPTION]Exceptions did not have rtti information when compiled with gcc andvisibility, which meant that they could not be caught.[ENTRY]Module: exampleWhat: bugRank: minorThanks: Helmut Simonis[DESCRIPTION]Fixed a bug and quirk in %Kakuro puzzles.[ENTRY]Module: kernelWhat: changeRank: minor[DESCRIPTION]The VarMapIter can now return both a specification and the actual VarBase* ofthe currently iterated variable.[ENTRY]Module: otherWhat: bugRank: minor[DESCRIPTION]Revived boost serialization. The serialization functions will be compiled ifGecode is configured with --with-boost.[ENTRY]Module: kernelWhat: performanceRank: minor[DESCRIPTION]Be less aggressive in increasing size of heap chunks.[ENTRY]Module: intWhat: documentationRank: minor[DESCRIPTION]Fixed bug in documentation of table-based extensional constraint.[ENTRY]Module: kernelWhat: bugRank: minor[DESCRIPTION]Fixed a bug in the hash function for pointers, which could returnnegative array indices.[RELEASE]Version: 2.0.0Date: 2007-11-14[DESCRIPTION]As witnessed by the version number change, this is a majorrelease with too many changes, fixes, and additions to mentionthem all: please consult the changelog.The highlights are: - New propagators: channeling between Integer variable and array of Boolean variables, circuit, table constraint (extensional), incremental regular constraint (extensional), incremental Boolean linear constraints - Boolean variables have a dedicated implementation: twice as fast, half the memory - Advisors for incremental propagation (see: Lagerkvist, Schulte, Advisors for Incremental Propagation, CP 2007) - Many crucial performance and scalability improvements: memory management, memory footprint of propagators - Many cleanups and more documentation, many new examples - New set variables with complete domain representation (CpltSetVar) [experimental] - A reflection API to query spaces about their propagators [experimental]The features marked as experimental are all functional, but mightbe revised in the next releases.As %Gecode 2.0.0 is a major release, you might have to adapt yourprograms: \ref PageHowToChange_2 "How to Change to Gecode 2.0.0".[ENTRY]Module: intWhat: newRank: major[DESCRIPTION]Added table-based extensional constraint.[ENTRY]Module: otherWhat: newRank: minor[DESCRIPTION]When compiling with gcc, the default visibility of symbols in thegenerated dynamic library is set to hidden.[ENTRY]Module: setWhat: removedRank: minor[DESCRIPTION]Removed buggy distinct propagator for finite sets.[ENTRY]Module: exampleWhat: newRank: minorThanks: Helmut Simonis[DESCRIPTION]New example: %Kakuro puzzles.[ENTRY]Module: otherWhat: newRank: minorThanks: Martin Mann[DESCRIPTION]Added dist and distdir targets for creating source distribution.[ENTRY]Module: otherWhat: newRank: minorThanks: Filip Konvicka[DESCRIPTION]On windows with MSVC, always build program database files to easedebugging of applications using %Gecode (files are also included inpackages).[ENTRY]Module: intWhat: newRank: minor[DESCRIPTION]Added new variable selection based on largest or smallestquotient of size and degree.[ENTRY]Module: otherWhat: newRank: minor[DESCRIPTION]Variable arrays, view arrays, and argument arrays can directly beprinted on standard output streams.[ENTRY]Module: otherWhat: changeRank: minor[DESCRIPTION]The structure of includes has been drasticallysimplified. Support for iterators ("gecode/iter.hh") isautomatically included with integers ("gecode/int.hh") and sets("gecode/set.hh"). Likewise, all support functionality becomesavailable by including "gecode/support.hh" (one can assume thatthis is included in "gecode/kernel.hh").[ENTRY]Module: kernelWhat: changeRank: minor[DESCRIPTION]Shared arrays are now available in the kernel (where they properlybelong). This entails that they are available in the Gecodenamespace and not in Gecode::Support.[ENTRY]Module: intWhat: changeRank: minor[DESCRIPTION]The extensional constraint specified by a DFA or a regularexpression (formerly known as regular) is now named "extensional"rather than "regular".[ENTRY]Module: minimodelWhat: bugRank: minor[DESCRIPTION]Fixed small quirk in posting an absolute propagator via a function.[ENTRY]Module: setWhat: newRank: minor[DESCRIPTION]Added channeling propagator between a SetVar and a BoolVarArraythat propagates the characteristic function of the set to theBoolean variables.[ENTRY]Module: setWhat: performanceRank: minor[DESCRIPTION]Changed the datastructure for set variables to use singly-linkedlists.[ENTRY]Module: otherWhat: changeRank: minor[DESCRIPTION]The values (and types) for selecting how to branch have been madeuniform for all variables types: they start with INT_ (or SET_ orCPLTSET_), followed by either VAL or VAR and the respectivestrategy.[ENTRY]Module: intWhat: changeRank: minor[DESCRIPTION]The interface for the global cardinality constraint has been simplified.The constraint is now called count.[ENTRY]Module: intWhat: changeRank: minor[DESCRIPTION]Regular expressions (REG) have been moved from the integer module tothe minimodel module.[ENTRY]Module: exampleWhat: changeRank: major[DESCRIPTION]Most examples have been cleaned up.[ENTRY]Module: exampleWhat: changeRank: minor[DESCRIPTION]Parsing of commandline arguments has been completely redone andis much more extensible and flexible.[ENTRY]Module: otherWhat: changeRank: minor[DESCRIPTION]All of %Gecode has been put under the MIT license (which theprevious license was a simple rewording of).[ENTRY]Module: otherWhat: bugRank: minor[DESCRIPTION]Removed huge number of casts that could (only potentially)compromise portability.[ENTRY]Module: setWhat: newRank: minor[DESCRIPTION]Finite set projectors can now be specified using formulas, in addition toset expressions.[ENTRY]Module: cpltsetWhat: newRank: major[DESCRIPTION]Finite integer set variables with complete domain representation,based on binary decision diagrams (BDDs), have been added as anew variable type.[ENTRY]Module: kernelWhat: newRank: major[DESCRIPTION]A reflection API has been added, which allows querying spacesabout the variables and propagators they contain.[ENTRY]Module: kernelWhat: bugRank: major[DESCRIPTION]Branching ids were not properly initialized. This was a seriousproblem if you posted branchings in spaces other than the rootspace.[ENTRY]Module: intWhat: changeRank: major[DESCRIPTION]Iterator-based domain operations have been renamed,reimplemented, and extended. Now operations for both range andvalue iterators are supported and the operations can be told toperform more efficient destructive updates.[ENTRY]Module: intWhat: changeRank: minor[DESCRIPTION]Sortedness constraints have been renamed to sorted constraints.[ENTRY]Module: kernelWhat: changeRank: minor[DESCRIPTION]VarArrays can now be resized dynamically.[ENTRY]Module: intWhat: performanceRank: major[DESCRIPTION]Boolean linear equations and inequalities with constantright-hand sides use constant time propagators wheneverappropriate (linear time with less overhead and memory forpropagators with few variables).[ENTRY]Module: kernelWhat: newRank: major[DESCRIPTION]Added advisors as an abstraction for incremental propagation:advisors are executed for their propagator whenever their viewchanges. Advisors, when not being used, add one word of overheadto each variable and slow down the system in the worst case byless than 1%. In average, no slowdown can be observed.[ENTRY]Module: intWhat: bugRank: minor[DESCRIPTION]Fixed a border-case bug for n-ary Boolean conjunction and disjunction.[ENTRY]Module: kernelWhat: newRank: minor[DESCRIPTION]A new propagation condition PC_GEN_NONE (and hence, PC_INT_NONE,...) has been introduced. Propagator patterns with thispropagation condition now do not create any subscriptions.[ENTRY]Module: intWhat: performanceRank: major[DESCRIPTION]The regular constraint has been reimplemented, the new versionruns more than twice as fast.[ENTRY]Module: exampleWhat: newRank: minor[DESCRIPTION]Added a model for the traveling salesman problem, mostlyintended to exercise the new circuit constraint (as the model is notvery competitive).[ENTRY]Module: kernelWhat: newRank: major[DESCRIPTION]Support for reference-counted shared objects added: they handleboth reference counting as well as non-shared copying. This fixessome bugs with the handling of shared arrays, integer sets, andfinite automata.[ENTRY]Module: exampleWhat: bugRank: minor[DESCRIPTION]Examples reported wrong number of propagator invocations (theinvocations for problem setup were missing).[ENTRY]Module: kernelWhat: newRank: major[DESCRIPTION]Added classes for shared objects and handles. Handles to sharedobjects allow to either share copies among spaces when beingcopied or to create a new shared copy, if requested.[ENTRY]Module: intWhat: newRank: minorThanks: Martin Mann[DESCRIPTION]Added a new version of count (and also atleast, atmost, exactly)that counts the number of variables equal to integers in anarray.[ENTRY]Module: exampleWhat: bugRank: minorBug: 50[DESCRIPTION]The number of colors in graph-color was off by one.[ENTRY]Module: intWhat: newRank: major[DESCRIPTION]Added channel constraints that channel an integer variable toeither a single or an array of Boolean variables.[ENTRY]Module: intWhat: bugRank: minor[DESCRIPTION]Fixed bug in copying of n-ary or-propagator for a special boundary case.[ENTRY]Module: intWhat: newRank: minor[DESCRIPTION]Relaxed sharing restrictions for channel, in particularchannel(this, x, x) is allowed.[ENTRY]Module: intWhat: newRank: major[DESCRIPTION]Added propagators for the circuit constraint.[ENTRY]Module: kernelWhat: performanceRank: minor[DESCRIPTION]Improved automatic memory management on Windows platforms.[ENTRY]Module: intWhat: performanceRank: minor[DESCRIPTION]Domain consistent distinct and channel allocate memory from thespace heap now. Much simpler.[ENTRY]Module: intWhat: changeRank: minor[DESCRIPTION]The Boolean tell operations one_none and zero_none now alsoreturn a ModEvent and hence must be checked for failure. This isneeded for simpler advisors.[ENTRY]Module: kernelWhat: performanceRank: major[DESCRIPTION]The memory management policies have been completely reworked. Nowmemory requests are much more regular. Hence, memory is much morelikely to be returned to the operating system. Furthermore, theflush member functions for actors have been removed (they wereunneeded) and actors and spaces now have allocated memberfunctions for returning how much memory is allocated by a space.Moreover, the memory reported by some propagators has beenignored. Note that this flaw did not affect the benchmark figureson the %Gecode webpage.[ENTRY]Module: intWhat: performanceRank: minor[DESCRIPTION]The multiplication uses integer precision if possible for betterperformance.[ENTRY]Module: intWhat: changeRank: minor[DESCRIPTION]Integer and Boolean variables are now guaranteed to beinspectable (that is, all const member functions work on them),even though a space is failed. However, the variables might havebeen modified during a tell operation that has failed.[ENTRY]Module: minimodelWhat: changeRank: major[DESCRIPTION]Linear expressions and relations can also be created from Booleanvariables, with the restriction that Boolean relations cannot bereified.[ENTRY]Module: intWhat: changeRank: major[DESCRIPTION]Boolean variables (and hence Boolean views) do not any longershare the implementation with integer variables. That has thefollowing consequences:- Boolean variables are not any longer integer variables. The same holds true for arrays of variables.- All constraints that make sense for both Boolean and integer variables have post functions that support both integer and Boolean variables.- Memory for Boolean variables is reduced by 50% and performance increases in problems with many Boolean variables by up to 50%.[ENTRY]Module: intWhat: newRank: major[DESCRIPTION]Added propagators for linear constraints over Boolean variables,in particular specialized and efficient versions for non-unitcoefficients.[ENTRY]Module: intWhat: changeRank: minor[DESCRIPTION]The linear constraints are now more careful (that is, they willuse more efficient versions more often if it is safe) todetermine whether overflow occurs and which precision (integer ordouble) should be chosen.[ENTRY]Module: intWhat: changeRank: minor[DESCRIPTION]The element constraints now accept an additional offset argument.[ENTRY]Module: setWhat: newRank: minor[DESCRIPTION]Added selection and reified relation constraints with constant sets.[ENTRY]Module: setWhat: changeRank: minor[DESCRIPTION]Slightly stronger inferences for the finite set sequence and selectionconstraints.[ENTRY]Module: exampleWhat: newRank: minor[DESCRIPTION]New example: the balanced academic curriculum problem (problem 030 fromCSPlib).[ENTRY]Module: setWhat: bugRank: minor[DESCRIPTION]Fixed the n-ary partition propagator to handle overflow of the sum ofcardinalities correctly.[ENTRY]Module: kernelWhat: bugRank: minor[DESCRIPTION]Subscription to constant views now should use the propagatemember function from a variable implementation: it guaranteesexecution of a propagator at least once (int and set views havebeen adopted accordingly).[ENTRY]Module: intWhat: bugRank: majorBug: 48[DESCRIPTION]Branching on maximum regret would always crash on non-range domains.[ENTRY]Module: setWhat: changeRank: minor[DESCRIPTION]The finite set selection propagators accept an additionalargument that specifies where the indexing should start. Itshould make some models more natural to express, and helps inporting code from other systems, such as Prolog or Mozart. Inaddition, the selectUnion propagator is now hand-written again,resulting in better performance.[ENTRY]Module: intWhat: changeRank: major[DESCRIPTION]All Boolean constraints got a new and regular interface. Ratherthan providing different post functions for the differentconstraints, the single post function rel is used: the Booleanoperation then is described by a value of type BoolOpType. Inaddition, all Boolean propagators have been reimplemented forbetter performance and less memory use.[ENTRY]Module: testWhat: newRank: minor[DESCRIPTION]Added simple testing for branchings.[ENTRY]Module: kernelWhat: changeRank: major[DESCRIPTION]The way how propagators report subsumption and partial fixpointshas changed. Now, a propagator must first call dispose (whichthen cancels subscriptions and possibly frees external resources)and only then can return that the propagator is subsumed. Forthat purpose a new function Gecode::ES_SUBSUMED has beendefined. Likewise, ES_FIX_PARTIAL and ES_NOFIX_PARTIAL arefunctions rather than member functions of Gecode::Propagator. Thebenefit is that this saves memory and is more efficient.[ENTRY]Module: intWhat: changeRank: minor[DESCRIPTION]The use of the consistency options were a little confusing, nowthe rule is: the level of consistency increases from ICL_VAL toICL_BND to ICL_DOM.[ENTRY]Module: minimodelWhat: performanceRank: minor[DESCRIPTION]Boolean expressions erroneously decomposed into ternary Booleanconstraints, while not incorrect rather inefficient for largeBoolean expressions.[ENTRY]Module: kernelWhat: changeRank: minor[DESCRIPTION]Made all macros type safe.[ENTRY]Module: kernelWhat: newRank: major[DESCRIPTION]Added macro GECODE_REWRITE for rewriting propagators. It is strongly advisedto always use this macro![ENTRY]Module: exampleWhat: bugRank: minorBug: 46[DESCRIPTION]Orientation of Sudokus now match the orientation in the specification-file.[ENTRY]Module: exampleWhat: newRank: minor[DESCRIPTION]New example: MineSweeper.[ENTRY]Module: exampleWhat: newRank: minor[DESCRIPTION]New example: Domino.[ENTRY]Module: setWhat: bugRank: minor[DESCRIPTION]Set projectors could subscribe with bogus propagation conditions.[ENTRY]Module: setWhat: performanceRank: minor[DESCRIPTION]Performance of the tell operations on finite set variables wasimproved. Especially the intersect operation benefits from this.[ENTRY]Module: intWhat: newRank: minor[DESCRIPTION]The element constraint now also supports integer values as result.[ENTRY]Module: kernelWhat: newRank: minor[DESCRIPTION]Add a generic class for assignments during search (similar togeneric branchings for views and values).[ENTRY]Module: intWhat: changeRank: minor[DESCRIPTION]All branching classes for value and view selection are nowparametric.[ENTRY]Module: intWhat: changeRank: minor[DESCRIPTION]Boolean variables cannot longer be initialized from an integervariable. If needed, a channel propagator must be posted (added).[ENTRY]Module: intWhat: changeRank: minor[DESCRIPTION]The equality constraints have been replaced by a variant of rel.[ENTRY]Module: kernelWhat: changeRank: minor[DESCRIPTION]The propagator abstractions Inhom* have been renamed to Mix*.[ENTRY]Module: intWhat: changeRank: minor[DESCRIPTION]The operations t_one, t_one_none, t_zero, t_zero_none for Booleanviews have been renamed to one, one_none, zero, zero_none.[ENTRY]Module: kernelWhat: performanceRank: major[DESCRIPTION]Explicit disposal of actors has been reimplemented (the olddesign was nothing but darn stupid). The memory overhead ofpropagators is reduced by 40% for most propagators and 20% forall. That is, a binary propagator takes 30% less memory and aternary propagator takes 25% less memory. Programs with manybinary or ternary propagators can run up to 20% faster.[ENTRY]Module: kernelWhat: changeRank: minor[DESCRIPTION]Propagators and branchings that require disposal when a space isdeleted must now be explicitly registered via a force functionand explicitly deregistered by an unforce function.[ENTRY]Module: intWhat: bugRank: minor[DESCRIPTION]Fixed memory leak in reified dom constraint.[ENTRY]Module: setWhat: bugRank: minor[DESCRIPTION]Fixed memory leak in distinct constraint for sets.[ENTRY]Module: exampleWhat: newRank: major[DESCRIPTION]New example: Pentominoes. The example uses extensionalconstraints specified as regular expressions to placeirregular-shaped pieces on a board.[RELEASE]Version: 1.3.1Date: 2006-10-25[DESCRIPTION]This is a minor release which fixes a major bug (the first realserious bug). Please update as soon as possible.[ENTRY]Module: kernelWhat: bugRank: majorThanks: Rafael Meneses[DESCRIPTION]Branch&Bound search with ViewValBranchings (all standard branchings) togetherwith batch recomputation was severely broken. The problems ranged from wrongsearch trees (missing solutions) to segmentation faults. The fix changes theway assigned variables are removed from the array in a ViewValBranching.[ENTRY]Module: intWhat: bugRank: minor[DESCRIPTION]Bounds-consistent distinct catches border case when an assigned variableduring bounds propagation leads to value removal for value propagation.[ENTRY]Module: intWhat: performanceRank: minor[DESCRIPTION]Bounds-consistent distinct eliminates assigned variables moreaggressively (can save up to 10% runtime in some cases).[ENTRY]Module: intWhat: bugRank: minorThanks: Alejandro Arbelaez[DESCRIPTION]IntVar::init now also raises exceptions for illegal domain specifications.[RELEASE]Version: 1.3.0Date: 2006-09-19[DESCRIPTION]This release adds a compiler for finite set projectors and provides newinfrastructure making it easier to add new variable domains. In addition,it contains recent bug fixes and minor improvements.[ENTRY]Module: setWhat: newRank: major[DESCRIPTION]Compiler for finite set projectors. Given a specification of a finite setconstraint as a projector set, it generates C++ code for the correspondingpropagator. Together with the dynamic propagator for finite set projectors,this implements the backend of the technique described in the paper"Generating Propagators for Finite Set Constraints" (Tack, Schulte,Smolka; CP 2006.).[ENTRY]Module: otherWhat: newRank: minorThanks: Jorge Marques Pelizzoni[DESCRIPTION]Also pass options for linking standard libraries for MSVC.[ENTRY]Module: otherWhat: bugRank: minor[DESCRIPTION]The pkg-config files now contain the correct path if you configured to thedefault prefix (i.e. /usr/local).[ENTRY]Module: minimodelWhat: newRank: minor[DESCRIPTION]Added aliases lex, atleast, atmost, and exactly for the count constraint.[ENTRY]Module: intWhat: changeRank: minor[DESCRIPTION]Renamed lex constraint to rel (as it also supports equality and disequality).[ENTRY]Module: intWhat: performanceRank: minor[DESCRIPTION]Make count constraints with integer number of equal occurrencesmore incremental using dynamic subscriptions (gives a 20-30%speedup).[ENTRY]Module: exampleWhat: newRank: minor[DESCRIPTION]Added an example for solving Black Hole patience games.[ENTRY]Module: kernelWhat: newRank: major[DESCRIPTION]Subscription to variables now features an additional and optionalBoolean argument whether the propagator is to be processed. Thisallows dynamically creation of subscriptions during propagation.[ENTRY]Module: otherWhat: newRank: minor[DESCRIPTION]New configure switches: --enable-audit to include audit code, which maycontain expensive checks of internal invariants or alternative, checkedimplementations of critical parts of %Gecode. --enable-universal and--with-sdk, to support building universal binaries on Mac OS X.[ENTRY]Module: kernelWhat: newRank: minor[DESCRIPTION]Variables can now be deallocated when the Space is deallocated (for example incase of failure). This is important in case a variable implementation needs toreference external resources. Deallocation can be switched on in thehigh-level description used for generating the variable implementation.[ENTRY]Module: minimodelWhat: bugRank: minorThanks: Rafael Meneses[DESCRIPTION]Under certain conditions (posting in a failed space), the post functionreturned uninitialized variables.[ENTRY]Module: kernelWhat: performanceRank: major[DESCRIPTION]Variable implementations are now generated from a high-leveldescription (taking care of all aspects relating to modificationevents and propagation conditions). While simplifying theimplementation of new variable domains considerably, this also can,in lucky cases, deliver a speed-up of 5%.[ENTRY]Module: kernelWhat: performanceRank: major[DESCRIPTION]Allocate subscriptions in separate memory area. Can speedup executionin some (but few) cases by up to 15-20%.[ENTRY]Module: intWhat: documentationRank: minorBug: 43[DESCRIPTION]Fixed documentation problem due to doxygen...[ENTRY]Module: searchWhat: newRank: major[DESCRIPTION]Branch-and-bound search now interleaves recomputation with addingbounding constraints. This can prune the search tree muchearlier: instead of recomputing many nodes from the same copynode and then adding a constraint that fails all these nodes, itmight be possible to already fail the copy node directly. Inprinciple, the difference can be exponential, however forexamples we tried the effect is minor.[ENTRY]Module: kernelWhat: bugRank: minor[DESCRIPTION]Now commits can be interleaved with adding new constraints duringbatch recomputation. This also entails that commit does not raisean exception when applied to an already failed space (it issimply ignored). The bug could not be observed (unless you didsome very fancy search engines yourself) and one could actuallysee it as an extension.[RELEASE]Version: 1.2.2Date: 2006-07-25[DESCRIPTION]This release switches recomputation back on and removes someexperimental code that had sneaked into the system...[ENTRY]Module: kernelWhat: performanceRank: major[DESCRIPTION]Some experimental code had sneaked into the release, slowing downthe system by more than 10%...[ENTRY]Module: searchWhat: bugRank: major[DESCRIPTION]With the changes to search in %Gecode 1.2.1 recomputation wasactually almost switched off...[ENTRY]Module: intWhat: performanceRank: minor[DESCRIPTION]Improve performance of domain-consistent distinct (by providingspecial ternary version). Can reduce runtime by 10-20% for someexamples.[ENTRY]Module: intWhat: performanceRank: minor[DESCRIPTION]Cut memory requirements for element (for integer arrays) by half.[ENTRY]Module: exampleWhat: newRank: minor[DESCRIPTION]Added stress test for element constraint (originally due to Neng-Fa Zhou).[ENTRY]Module: exampleWhat: newRank: minor[DESCRIPTION]Added stress test for min constraint.[ENTRY]Module: exampleWhat: newRank: minor[DESCRIPTION]Added possibility to stop the search for solutions in examples basedon the time taken, the number of fails, or both.[ENTRY]Module: exampleWhat: newRank: minor[DESCRIPTION]Added an example for solving Peacable co-existing armies of %Queens.[RELEASE]Version: 1.2.1Date: 2006-07-19[DESCRIPTION]In addition to the usual fixes and improvements, the biggestchange is that all branchings now must support branchingdescriptions. This also entails straightforward changes(simplifications) to search-related space operations and to theimplementation of search engines.[ENTRY]Module: kernelWhat: newRank: minor[DESCRIPTION]Added a macro GECODE_NEVER that assert that this command is neverexecuted. This is preferred over assert(false) as it is used foroptimization, if supported by a compiler (for example, MicrosoftVisual C++).[ENTRY]Module: intWhat: bugRank: minor[DESCRIPTION]Fixed fixpoint detection bug in n-ary min and max propagators.[ENTRY]Module: intWhat: bugRank: minor[DESCRIPTION]Min and max propagators now correctly handle cases such as min(x,y)=x.[ENTRY]Module: intWhat: removedRank: minor[DESCRIPTION]Removed bounds-consistent propagation for count constraint (not worththe trouble, just use domain-consistent).[ENTRY]Module: kernelWhat: changeRank: minorThanks: Martin Mann[DESCRIPTION]The ViewValBranching class now passes the home space to all memberfunctions used in selecting the view and the value.[ENTRY]Module: setWhat: bugRank: minor[DESCRIPTION]Fixed fixpoint detection for n-ary partition propagator.[ENTRY]Module: setWhat: newRank: major[DESCRIPTION]Added finite set projection propagators. They allow to propagate allfinite set constraints expressible as finite set projectors, includingnegated and reified constraints.[ENTRY]Module: supportWhat: newRank: minor[DESCRIPTION]Added simple class encapsulating a linear congruential pseudo-randomnumber generator.[ENTRY]Module: kernelWhat: changeRank: major[DESCRIPTION]The interface for branchings has changed considerably, reflectingthe fact now that all branchings must support branching descriptions.This is also reflected in the Space::status operation which has itsarguments reversed and corrected const qualifiers on its arguments.But the good news is that it is considerably simpler than before.[ENTRY]Module: intWhat: bugRank: minor[DESCRIPTION]Assignment branchings (that is, branchings with a single alternative)could possibly take the wrong values for assignment during recomputation.[ENTRY]Module: kernelWhat: changeRank: major[DESCRIPTION]The status operation does not any longer accept an argument forthe number of alternatives. The number of alternatives is nowavailable from a branching description (where it is passed uponcreation of the description). This reflects the fact thatbranching descriptions are mandatory now.[ENTRY]Module: searchWhat: bugRank: major[DESCRIPTION]Fixed a serious bug where during recomputation the search stackwas always inspected behind the last element: the reason whyrecomputation never crashed has been that stacks always keep oneelement extra for optimization. So, serious bug but looks as ifno one stumbled over this...[ENTRY]Module: kernelWhat: bugRank: minor[DESCRIPTION]As Boolean variables can be derived from integer variables, theassumption that a not yet assigned Boolean variable can not bemodified is wrong.[ENTRY]Module: otherWhat: documentationRank: minor[DESCRIPTION]Generate one page per version released in changelog.[ENTRY]Module: kernelWhat: changeRank: minorBug: 41[DESCRIPTION]Change exceptions thrown by %Gecode to be compliant with C++exceptions.[ENTRY]Module: otherWhat: bugRank: minorBug: 42[DESCRIPTION]Renamed macros so as to avoid nameclashes (all macros start withGECODE_).[ENTRY]Module: searchWhat: bugRank: minor[DESCRIPTION]Search engines now correctly count the number of propagationsteps including propagation that occurs when adaptiverecomputation creates additional clones.[ENTRY]Module: searchWhat: changeRank: major[DESCRIPTION]Branchings now must return branching descriptions and commitoperations also insist on being provided with branchingdescriptions. This change reflects that batch recomputation isof vital importance for efficiency in %Gecode.[ENTRY]Module: intWhat: performanceRank: major[DESCRIPTION]Make Boolean linear constraints with constant right hand sidesmore incremental using dynamic subscriptions (gives a 20-30% speedup).[ENTRY]Module: minimodelWhat: performanceRank: minor[DESCRIPTION]Take advantage of specialized Boolean propagators in Booleanexpressions and relations.[ENTRY]Module: intWhat: performanceRank: minor[DESCRIPTION]Made n-ary Boolean conjunction and disjunction more incremental byusing dynamic subscriptions.[ENTRY]Module: intWhat: performanceRank: minor[DESCRIPTION]Provide special versions of Boolean propagators optimizing caseswhere n-ary disjunctions are true.[ENTRY]Module: intWhat: performanceRank: minor[DESCRIPTION]Change implementation of Boolean propagators from conjunctionto disjunction so that disjunction can be used as special casefor Boolean sum with inequalities.[RELEASE]Version: 1.2.0Date: 2006-06-20[DESCRIPTION]This release makes quite some drastic changes to how propagatorsand branchings are deleted: instead of using destructors they usea dispose method that allows passing a home space during deletion(we will use this infrastructure measure to speed up cloningconsiderably a little later). Moreover the directory structurehas changed on popular request so that all include files are tobe found in a gecode subdirectory. Apart from that, some smallfixes and extensions due to requests.[ENTRY]Module: setWhat: bugRank: minorThanks: Luis Otero[DESCRIPTION]Fixed memory leak in finite set distinct propagator.[ENTRY]Module: intWhat: bugRank: minor[DESCRIPTION]Fixed memory leak in global cardinality constraint.[ENTRY]Module: intWhat: bugRank: minorThanks: Martin Mann[DESCRIPTION]Fixed bug in equality tests that could lead to reified (dis)equalitypropagators not achieving domain consistency.[ENTRY]Module: testWhat: newRank: minor[DESCRIPTION]Added --enable-leak-debug configure option. This option causes the test suiteto call mtrace() under Linux, which can be used to test for memory leaks.[ENTRY]Module: kernelWhat: performanceRank: minor[DESCRIPTION]More aggressive inlining for canceling subscriptions.[ENTRY]Module: searchWhat: bugRank: minorBug: 39[DESCRIPTION]Fixed linkage of BAB destructor under Cygwin.[ENTRY]Module: kernelWhat: changeRank: minor[DESCRIPTION]The branch member function for branchings now also takes a home spaceas argument.[ENTRY]Module: kernelWhat: changeRank: major[DESCRIPTION]Canceling subscriptions on views and variable implementations nowrequire also a home space (this has become possible due to not usingdestructors but ordinary "dispose" member functions).[ENTRY]Module: kernelWhat: changeRank: major[DESCRIPTION]Actors (propagators and branchings) do not any longer use destructorsbut a "dispose" member function that takes a home space as argumentand must return the size of the actor.Important: this requires that dispose member functions from super-classesand class members are called explicitly![ENTRY]Module: kernelWhat: newRank: minor[DESCRIPTION]Spaces can be queried for number of propagators and branchings.[ENTRY]Module: searchWhat: newRank: minor[DESCRIPTION]Search engines can now be checked whether they have been stopped.[ENTRY]Module: intWhat: documentationRank: minorThanks: Martin Mann[DESCRIPTION]Fixed bug in description of PC_INT_DOM.[ENTRY]Module: otherWhat: changeRank: majorThanks: Martin Mann[DESCRIPTION]Moved library source code into gecode subdirectory. Facilitates cleanerinstallation. Programs compiling against %Gecode now need to includee.g. "gecode/int.hh".[ENTRY]Module: exampleWhat: changeRank: minor[DESCRIPTION]Sudoku example generalized to arbitrarily sized Sudokus.[RELEASE]Version: 1.1.0Date: 2006-04-10[DESCRIPTION]This minor release adds some new constraints (see below), adds supportfor stopping search engines based on definable criteria, and some othersmall fixes. Most notably, the test infrastructure has been extended toalso check whether propagators correctly claim that they have computeda fixpoint (now all invariants a propagator must obey in %Gecode are coveredby the test infrastructure). This has lead to many small fixes.[ENTRY]Module: otherWhat: bugBug: 37Rank: minorThanks: Kari Pahula[DESCRIPTION]Added a configure switch --enable-doc-dot. If enabled, this checks forpresence of the dot tool (used for generating graphs in the documentation)[ENTRY]Module: exampleWhat: newRank: minor[DESCRIPTION]Added all-interval series using distinct.[ENTRY]Module: minimodelWhat: newRank: minor[DESCRIPTION]Added functions returning variables for arithmetic(min, max, abs, mult, plus, minus).[ENTRY]Module: intWhat: changeRank: minor[DESCRIPTION]Support for shared views has been removed insortedness propagator and in the propagatorfor global cardinality with fixed cardinalities.[ENTRY]Module: intWhat: bugRank: minor[DESCRIPTION]Fixed bug in fixpoint detection of sortedness andglobal cardinality propagator.[ENTRY]Module: setWhat: bugRank: minorBug: 36Thanks: Javier Mena[DESCRIPTION]A non-debug version of %Gecode could not be linked to a program compiled withassertions switched on, as BndSet::isConsistent was missing from the library.[ENTRY]Module: intWhat: changeRank: minor[DESCRIPTION]Staged propagation for domain-consistent absolute value propagator[ENTRY]Module: intWhat: changeRank: minor[DESCRIPTION]EqBnd and EqDom now take two template parameters for their view types. Thissupports using different views, e.g. to express x0=-x1 using a MinusView.[ENTRY]Module: searchWhat: newRank: majorThanks: Rafael Meneses[DESCRIPTION]Added functionality to interrupt search engines (introduceda Search::Stop class).[ENTRY]Module: searchWhat: changeRank: major[DESCRIPTION]Removed search engines optimizing for copying only (afterall, one should always use some recomputation).[ENTRY]Module: intWhat: bugRank: minor[DESCRIPTION]Fixed bug in fixpoint detection of n-ary maximum/minimumpropagator.[ENTRY]Module: kernelWhat: changeRank: minor[DESCRIPTION]The status member function now also allows the firstargument to be optional.[ENTRY]Module: setWhat: bugRank: minor[DESCRIPTION]Fixed bugs in fixpoint detection of several set propagators (match,convexity, sequence, n-ary (disjoint) union).[ENTRY]Module: intWhat: bugRank: minor[DESCRIPTION]Fixed bug in fixpoint detection of bounds-consistentelement for variables propagator.[ENTRY]Module: intWhat: bugRank: minor[DESCRIPTION]Fixed bug in fixpoint detection of bounds-consistent squaringpropagator (mult with the same variable twice).[ENTRY]Module: intWhat: bugRank: minor[DESCRIPTION]Fixed bug in fixpoint detection of bounds-consistent abspropagator.[ENTRY]Module: intWhat: performanceRank: minor[DESCRIPTION]Rewrite n-ary linear, min/max, and Boolean propagators to binary/ternaryvariants during cloning if possible (saves memory).[ENTRY]Module: intWhat: bugRank: minorThanks: Stefano Gualandi[DESCRIPTION]Fixed wrong assertion in gcc-bnd propagator.[ENTRY]Module: intWhat: bugRank: majorThanks: Jean-Christophe Godart[DESCRIPTION]Fixed indexing bug in SupportSet (part of the domain consistent linearequation propagator).[ENTRY]Module: intWhat: newRank: major[DESCRIPTION]Added new constraint channel for variable/value channelingbetween two variable arrays.[ENTRY]Module: intWhat: changeRank: minor[DESCRIPTION]All distinct propagators raise an exception if a variable occursmultiply in its arguments.[ENTRY]Module: setWhat: changeRank: major[DESCRIPTION]Renamed the set propagators minElement to min, maxElement to max,and channelVarVal to channel.[ENTRY]Module: intWhat: performanceRank: major[DESCRIPTION]Improved initialization of domain-consistent distinct propagator,in common cases for distinct this can save up to 10% runtime.[ENTRY]Module: setWhat: bugRank: minorThanks: Patrick Pekczynski[DESCRIPTION]Fixed off-by-one bug in SetVarImp::lubMinN and SetVarImp::lubMaxN.[ENTRY]Module: minimodelWhat: bugRank: minorThanks: Olof Sivertsson[DESCRIPTION](In-)Equations were still not correct with respect to the sign.[ENTRY]Module: minimodelWhat: bugRank: minorBug: 33Thanks: Olof Sivertsson[DESCRIPTION]Slice-operation now returns elements in right order.[ENTRY]Module: minimodelWhat: bugRank: minorBug: 32Thanks: Olof Sivertsson[DESCRIPTION]Possible array-out-of bounds access fixed for MiniModel::Matrix.[ENTRY]Module: exampleWhat: performanceRank: minor[DESCRIPTION]Added redundant constraint to social golfers example.[RELEASE]Version: 1.0.1Date: 2006-03-01[DESCRIPTION]Maintenance release including some additions of domain-consistentpropagators and a fix for a serious bug in reified linearinequalities.[ENTRY]Module: searchWhat: changeRank: minor[DESCRIPTION]Changed default copying recomputation distance to 8.[ENTRY]Module: minimodelWhat: bugRank: minorThanks: Olof Sivertsson[DESCRIPTION](In-)Equations with an int on the left hand side (like 9==x) weretranslated with a wrong sign (as -9==x).[ENTRY]Module: otherWhat: bugRank: minorBug: 31[DESCRIPTION]The preprocessor macro NDEBUG for disabling assertions is no longerput into config.hpp. Without this fix, user programs could not useassert if %Gecode was compiled with NDEBUG.[ENTRY]Module: minimodelWhat: newRank: minor[DESCRIPTION]The post functions for linear expressions and relations also takean integer consistency level as optional argument.[ENTRY]Module: intWhat: newRank: major[DESCRIPTION]Added domain-consistent linear equalities.[ENTRY]Module: intWhat: bugRank: minorBug: 30[DESCRIPTION]Fixed fixpoint detection for ternary min and max.[ENTRY]Module: intWhat: bugRank: minor[DESCRIPTION]Fixed subsumption detection for regular with multiple variable occurences.[ENTRY]Module: intWhat: changeRank: minor[DESCRIPTION]Cost computation for sortedness has been changed from static todynamic (taking into account the variable reduction thepropagator can perform).[ENTRY]Module: intWhat: changeRank: major[DESCRIPTION]Global cardinality changed to non-staged version. Furtherinference for cardinality variables added. Parts of the graphstructure for the domain-consistent propagator have been revisedso as to avoid unnecessary propagation in case of fixedcardinalities and to allow better staging for thepropagator. Revision of propagation for fixed cardinalities hasalso been applied to bounds-consistent propagator.[ENTRY]Module: intWhat: newRank: major[DESCRIPTION]Added domain-consistent version of the absolute value propagator.[ENTRY]Module: otherWhat: performanceRank: major[DESCRIPTION]Switch assertions off in optimized builds with Microsoft's C++ compiler.[ENTRY]Module: intWhat: bugRank: majorBug: 29Thanks: Dominik Brill[DESCRIPTION]Fixed a very serious bug in the reified linear inequality propagator.[ENTRY]Module: otherWhat: bugRank: minorThanks: Filip Konvicka[DESCRIPTION]Removed some compiler warnings for the Microsoft compiler with -W3.[ENTRY]Module: intWhat: bugRank: majorBug: 27[DESCRIPTION]The strongly connected components represented by the permutationvariables in the extended version of Sortedness has been fixedrestoring bounds consistency on the permutation variables.[ENTRY]Module: otherWhat: changeRank: minorBug: 24[DESCRIPTION]The soname for libraries on Linux is now set properly, as well as theversion information on Darwin (Mac OS).[ENTRY]Module: otherWhat: changeRank: minorBug: 25[DESCRIPTION]The build system has been updated to support building both static andshared libraries at the same time on Unix-like systems.[ENTRY]Module: exampleWhat: changeRank: minor[DESCRIPTION]Examples now use per default the recomputation settings asdefined in the search module.[RELEASE]Version: 1.0.0Date: 2005-12-06[DESCRIPTION]Initial release.[ENTRY]Module: kernelWhat: newRank: minorThanks: Gilles Pesant and Samuel Gagnon[DESCRIPTION]Introduction of a basic structure for supporting counting-basedsearch as described in:S. Gagnon, G. Pesant, Accelerating Counting-Based Search, CPAIOR 2018.This is only enabled if Gecode has been compiled with the option--enable-cbs.[MORE]A branching option will be added to compatible examples ascounting algorithms are added to constraints.