{"action":"closed","issue":{"url":"https://api.github.com/repos/chocoteam/choco-solver/issues/402","repository_url":"https://api.github.com/repos/chocoteam/choco-solver","labels_url":"https://api.github.com/repos/chocoteam/choco-solver/issues/402/labels{/name}","comments_url":"https://api.github.com/repos/chocoteam/choco-solver/issues/402/comments","events_url":"https://api.github.com/repos/chocoteam/choco-solver/issues/402/events","html_url":"https://github.com/chocoteam/choco-solver/issues/402","id":152782313,"number":402,"title":"Remove TRUE, FALSE, ONE and ZERO from model ","user":{"login":"cprudhom","id":1171872,"avatar_url":"https://avatars.githubusercontent.com/u/1171872?v=3","gravatar_id":"","url":"https://api.github.com/users/cprudhom","html_url":"https://github.com/cprudhom","followers_url":"https://api.github.com/users/cprudhom/followers","following_url":"https://api.github.com/users/cprudhom/following{/other_user}","gists_url":"https://api.github.com/users/cprudhom/gists{/gist_id}","starred_url":"https://api.github.com/users/cprudhom/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/cprudhom/subscriptions","organizations_url":"https://api.github.com/users/cprudhom/orgs","repos_url":"https://api.github.com/users/cprudhom/repos","events_url":"https://api.github.com/users/cprudhom/events{/privacy}","received_events_url":"https://api.github.com/users/cprudhom/received_events","type":"User","site_admin":false},"labels":[{"url":"https://api.github.com/repos/chocoteam/choco-solver/labels/feature","name":"feature","color":"fbca04"}],"state":"closed","locked":false,"assignee":null,"milestone":{"url":"https://api.github.com/repos/chocoteam/choco-solver/milestones/13","html_url":"https://github.com/chocoteam/choco-solver/milestones/4.0.0.a","labels_url":"https://api.github.com/repos/chocoteam/choco-solver/milestones/13/labels","id":1601975,"number":13,"title":"4.0.0.a","description":"API refactoring:\r\n- move `Solver` to `Model` and `SearchLoop` to Solver`. It aims at separate purposes: first modeling then solving.\r\n- move `VariableFactory` and `*ConstraintFactory` directly into `Model`, for instance: `model.intVar(\"X\", 0, 10)` or `model.allDifferent(Y).post();`. It aims at limiting entry points for users to a single one, `Model`, and reducing API size (without the necessity to always declare the model).\r\n- move `Chatterbox` to `Solver` to limit entry points and reduce APIs.\r\n- reduce resolution API to one: `solve()` instead of `find*`. It aims at letting the user configure the resolution once, and then iterate over solutions. Moreover, even if helper should remain to solve COP, the way cuts are added should be open and easy (e.g., multi objectives resolution or ad hoc cut).\r\n- remove `ISolutionRecorder`: nothing is done by default regarding solutions, but recording (user specific) solution is made easy with `Solver.solve()`.\r\n\r\n\r\n","creator":{"login":"cprudhom","id":1171872,"avatar_url":"https://avatars.githubusercontent.com/u/1171872?v=3","gravatar_id":"","url":"https://api.github.com/users/cprudhom","html_url":"https://github.com/cprudhom","followers_url":"https://api.github.com/users/cprudhom/followers","following_url":"https://api.github.com/users/cprudhom/following{/other_user}","gists_url":"https://api.github.com/users/cprudhom/gists{/gist_id}","starred_url":"https://api.github.com/users/cprudhom/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/cprudhom/subscriptions","organizations_url":"https://api.github.com/users/cprudhom/orgs","repos_url":"https://api.github.com/users/cprudhom/repos","events_url":"https://api.github.com/users/cprudhom/events{/privacy}","received_events_url":"https://api.github.com/users/cprudhom/received_events","type":"User","site_admin":false},"open_issues":13,"closed_issues":3,"state":"open","created_at":"2016-02-24T08:35:24Z","updated_at":"2016-05-13T15:06:07Z","due_on":"2016-05-31T22:00:00Z","closed_at":null},"comments":0,"created_at":"2016-05-03T14:08:38Z","updated_at":"2016-05-13T15:06:07Z","closed_at":"2016-05-13T15:06:07Z","body":"Remove `model.TRUE()`, `model.FALSE()`, `model.ONE()` and `model.ZERO()`.\r\n\r\n- `model.TRUE()` and `model.FALSE()` are only useful for internal purpose and should not be used by end-user\r\n- `model.ONE()`, `model.ZERO()` are accessible through, resp., `model.intVar(1)`, `model.intVar(0)`"}}