Is there a way to make Galapagos work with Domains instead of sliders?

In random generation as it is GA, if the domains are taken into account before each Generation, then it is useful.

But in SA, each trial is rendered useless if the domain changes.

Correct me if I’m wrong.

That really depends on the details of the implementation, and I’m not familiar with those.
It’s just that, from what I’ve seen, SA is always better. But maybe that’s not the case for changing domains.

That has nothing to do with changing a slider domain. The GUI is only appearance, no data or substance. You cannot substitute a slider for Galapagos with something that is not a slider and hope it will work. It needs to be exactly a slider, it cannot just “look like a slider”.

LATER ADDITION: If changing the domain is feasible (that is something only the writer of the evolutionary solver can tell, @DavidRutten here I think), I am sure that a sample to change the domain is possible.

You think it has nothing to do with it, for me learning to manipulate the UI of the component will allow me to create slider that changes its domain

@ivelin.peychev please let me be more specific… Changing the domain does not require any GUI changes.

The SA solver is good at finding locally optimal solutions in short runs and starting an as disparate as possible search for the next run. If you have no idea what sort of slider layout would be close to correct and if there are lots of local optima, run the SA solver first for a couple of cycles. It is likely to find the global optimum.

Once your slider positions are already close to the optimum, or if there aren’t strongly competing optima, then the GA solve will be better. The longer the GA solver runs the more accurate it becomes, but it does tend to get stuck to whatever local basin it’s currently in.

2 Likes

@DavidRutten does Galapagos allow to change slider domains (not values) mid-term in the computation?

I want to create slider with inputs for min and max, that will require me learning how to make a component look like a slider, am I wrong?

Galapagos doesn’t use sliders, it uses indices into the possible states a slider can take. So changing the slider domain will have really weird effects on the solver while it is running.

You could just have two sliders which will become the two intervals of the search. Then, a % slider that goes from 0 (100% part one of the first number) value to slider 2 (1). This makes the bounds problem a normal Galapagos problem.

This rules out any possibility to change slider domains mid-term. @ivelin.peychev

No it doesn’t, I prove it with the definition I’ve sent @DavidRutten as PM.

with it I beat the normal operation of Galapagos both time-wise and accuracy-wise.

OK. I am not sure what else I can tell then.

How can I create slider with inputs,

I don’t want you to do my job, so instead, an example of manipulating the UI with python.

Again, this has nothing to do with this and will never work with Galapagos. Galapagos only accepts “normal” sliders.

:slight_smile: I can prove it will work. If only I have that slider with inputs…

If you intend to lock yet another thread where I requested that, simply don’t answer to it. I’m working on alternatives, unfortunately they don’t work as efficient as if I had that slider with inputs.

1 Like

How are you going to connect a different type of slider to the Galapagos object?

That’s an interesting point that people should be more aware of.
Most people, and most of the literature, seem to believe that GAs are especially good for global search.

I’d say that having many local optima is more typical for the kinds of (simulation-based) problems I encounter and that are convenient to setup in Grasshopper.

I can see how using the Galapagos GA as a local solver might work, but its not something I’ve tried.

But then, a dedicated local solver like the ones in Goat would probably work even better
In my experience, SBPLEX is a good glocal solver than converges quickly but can still escape local optima (somewhat), and BOBYQA and COBYLA excel when there’s only a single optimum.

Naturally, I think that Opossum (RBFOpt in the chart above) is great at global search, i.e., identifying slider positions that are reasonably close to optimal. It’s sometimes struggling with local search, though.

Following optimization with Opossum (or another global solver like the Galapagos SA) up with a more local solver can be a very good strategy. Developing a hybrid that does this automatically is on my to-do list :wink:.

Obviously it must look like a normal slider to Galapagos. Though, as mentioned above I don’t know how to create that component, it basically has to like taking the slider component and modifying it. When searching the canvas for different types it must see it as a slider, or as a gene pool.

Once you modify the slider object to have a changeable domain, it won’t be a slider object anymore, but a different object type. That’s why Galapagos won’t recognize it, as @DavidRutten and @piac are saying.
In other words, it CANNOT “look” like a normal slider without actually being a normal slider.