{"action":"created","issue":{"url":"https://api.github.com/repos/jMetal/jMetal/issues/155","repository_url":"https://api.github.com/repos/jMetal/jMetal","labels_url":"https://api.github.com/repos/jMetal/jMetal/issues/155/labels{/name}","comments_url":"https://api.github.com/repos/jMetal/jMetal/issues/155/comments","events_url":"https://api.github.com/repos/jMetal/jMetal/issues/155/events","html_url":"https://github.com/jMetal/jMetal/issues/155","id":170144101,"number":155,"title":"Reproducibility of MOOP by setting the seed of random number generators","user":{"login":"hija","id":12954043,"avatar_url":"https://avatars0.githubusercontent.com/u/12954043?v=3","gravatar_id":"","url":"https://api.github.com/users/hija","html_url":"https://github.com/hija","followers_url":"https://api.github.com/users/hija/followers","following_url":"https://api.github.com/users/hija/following{/other_user}","gists_url":"https://api.github.com/users/hija/gists{/gist_id}","starred_url":"https://api.github.com/users/hija/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/hija/subscriptions","organizations_url":"https://api.github.com/users/hija/orgs","repos_url":"https://api.github.com/users/hija/repos","events_url":"https://api.github.com/users/hija/events{/privacy}","received_events_url":"https://api.github.com/users/hija/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":38,"created_at":"2016-08-09T11:33:09Z","updated_at":"2017-04-07T16:43:57Z","closed_at":null,"body":"Hello everyone,\n\nI have a question concerning multi objective optimization using the jMetal Framework. I have used the \"[NSGAIITSPRunner.java](https://github.com/jMetal/jMetal/blob/master/jmetal-exec/src/main/java/org/uma/jmetal/runner/multiobjective/NSGAIITSPRunner.java)\" (from the package org.uma.jmetal.runner.multiobjective and jMetal 5.1) and for adding reproducibility I added the line\n\n```\nJMetalRandom.getInstance().setSeed(10L);\n```\n\nat the beginning of  the main-method.\nSo the main-method looks like this:\n\n```\npublic static void main(String[] args) throws IOException {\n      JMetalRandom.getInstance().setSeed(10L);\n\n      PermutationProblem<PermutationSolution<Integer>> problem;\n      Algorithm<List<PermutationSolution<Integer>>> algorithm;\n      CrossoverOperator<PermutationSolution<Integer>> crossover;\n      MutationOperator<PermutationSolution<Integer>> mutation;\n      SelectionOperator<List<PermutationSolution<Integer>>, PermutationSolution<Integer>> selection;\n\n      problem = new MultiobjectiveTSP(\"/tspInstances/kroA100.tsp\", \"/tspInstances/kroB100.tsp\");\n      [...]\n```\n\nFurthermore, I used the data (kroA100.tsp and kroB100.tsp) which was provided with the framework. I then ran the program once and my FUN.tsv started with the line\n\n\"93328.0 132453.0\".\n\nAfter I ran the program another time the FUN.tsv started with the line\n\n\"145839.0 101293.0\".\n\nHowever, I was wondering why this is happening. I thought that if I set the seed to the same value both times the results would be the same, since the random values which are generated during selection/mutation/... are the same (and this worked for me for non-permutation problems like the ZD1). Can you help me clarify my misunderstanding or my error?\n\nKind regards\n"},"comment":{"url":"https://api.github.com/repos/jMetal/jMetal/issues/comments/292588429","html_url":"https://github.com/jMetal/jMetal/issues/155#issuecomment-292588429","issue_url":"https://api.github.com/repos/jMetal/jMetal/issues/155","id":292588429,"user":{"login":"ajnebro","id":1889196,"avatar_url":"https://avatars3.githubusercontent.com/u/1889196?v=3","gravatar_id":"","url":"https://api.github.com/users/ajnebro","html_url":"https://github.com/ajnebro","followers_url":"https://api.github.com/users/ajnebro/followers","following_url":"https://api.github.com/users/ajnebro/following{/other_user}","gists_url":"https://api.github.com/users/ajnebro/gists{/gist_id}","starred_url":"https://api.github.com/users/ajnebro/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ajnebro/subscriptions","organizations_url":"https://api.github.com/users/ajnebro/orgs","repos_url":"https://api.github.com/users/ajnebro/repos","events_url":"https://api.github.com/users/ajnebro/events{/privacy}","received_events_url":"https://api.github.com/users/ajnebro/received_events","type":"User","site_admin":false},"created_at":"2017-04-07T16:43:57Z","updated_at":"2017-04-07T16:43:57Z","body":"> Let's go this way: I will propose pull requests which make operators more generic, without touching algorithms using them nor JMetalRandom. If you accept them, then after that I can propose the same thing for algorithms. Without touching their builders. And so on. So you can actually see that it is really progressive and does not break legacy code, only make these classes more generic. Is that OK for you?\r\n\r\nYou know the anwser ;)"}}
{"actor":{"display_login":"ajnebro"}}