Closed Tomalwo closed 6 years ago
Hi Giacomo,
The idea is to be able to suppress the initial sampling, and to rely only on user-provided points instead. If the sampling is suppressed, there is a check on whether any of the user-provided points are too close to each other. This is important for RBFMOpt/MOpossum, which is constantly restarting RBFOpt with different weights.
Let me know if that helps! Otherwise, could you perhaps ignore restart(), and merge in the remaining changes?
Thanks! Thomas
On Mon, Sep 10, 2018 at 11:00 PM, Giacomo Nannicini < notifications@github.com> wrote:
@gnannicini commented on this pull request.
I had a look at the changes. Unfortunately it is in conflict with a couple of recent commits to fix a bug and improve stability. I have to ask you to apply the changes onto the most recent version...
Alternatively, if you explain the logic behind the do_init_strategy, I can try to merge. (Keeping track of current_cycle is easy.) I think I understand most of it but I am slightly lost at what the new restart() function is trying to achieve.
— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub https://github.com/coin-or/rbfopt/pull/16#pullrequestreview-153817009, or mute the thread https://github.com/notifications/unsubscribe-auth/APHirqNZTLPtJ2yuFRGWiMY2edB3o2ftks5uZn6rgaJpZM4WWjRE .
Hi Giacomo,
Here's some more points which you might find useful.
There is an optional Boolean variable do_init_strategy in the constructor of rbfopt_algorithm that decides whether the the init strategy should be executed or not. By default, it is true. Btw, do_init_strategy is not accessible via the command line to prevent users from using this feature willy-nilly.
In restart(), checking whether the current cycle is zero should ensure that, when a restart happens (as opposed to just starting the algorithm), the sampling phase happens anyway.
if(self.current_cycle != 0 or self.do_init_strategy)
(I just realized that the first condition needs to be added in a couple more places (everywhere we check whether self.do_init_strategy is true).)
Thanks! Thomas
On Mon, Sep 10, 2018 at 11:26 PM, Thomas W thomas.wortmann@gmail.com wrote:
Hi Giacomo,
The idea is to be able to suppress the initial sampling, and to rely only on user-provided points instead. If the sampling is suppressed, there is a check on whether any of the user-provided points are too close to each other. This is important for RBFMOpt/MOpossum, which is constantly restarting RBFOpt with different weights.
Let me know if that helps! Otherwise, could you perhaps ignore restart(), and merge in the remaining changes?
Thanks! Thomas
On Mon, Sep 10, 2018 at 11:00 PM, Giacomo Nannicini < notifications@github.com> wrote:
@gnannicini commented on this pull request.
I had a look at the changes. Unfortunately it is in conflict with a couple of recent commits to fix a bug and improve stability. I have to ask you to apply the changes onto the most recent version...
Alternatively, if you explain the logic behind the do_init_strategy, I can try to merge. (Keeping track of current_cycle is easy.) I think I understand most of it but I am slightly lost at what the new restart() function is trying to achieve.
— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub https://github.com/coin-or/rbfopt/pull/16#pullrequestreview-153817009, or mute the thread https://github.com/notifications/unsubscribe-auth/APHirqNZTLPtJ2yuFRGWiMY2edB3o2ftks5uZn6rgaJpZM4WWjRE .
Have a look at the new branch rc1. I think I implemented all that was included in your PR. I had to change the output log as it cluttered the screen. Can you please test if the new branch does what you need? I can then make a new release after updating the doc.
Solved in master.