Jump to content
Guest Mr. Olivier Duquette

Questions on optimization engines

Recommended Posts

Guest Mr. Olivier Duquette

Hi,
 

I have a couple question concerning the optimization tools of Friendship Framework:

- When using the the NSGAII engine is there a way to put the generation in the design name template?

- Is there a way to produce a graph in real time during the optimization?
  Like seeing a new dot being added to the graph after a new design is created, instead of manually producing the graph after the optimization engine is done.

- Is it possible to run automatically two or more optimization engines one after the other?
 For example, the NSGAII engine is used, then when it is done, one of the best design is send automatically to the the Tsearch or the Newton-Raphson as initial value.

- Is there a tool to get which design variables have the biggest influence on the design?


Cheers,

Olivier

Share this post


Link to post
Share on other sites

Hi Oliver,

 

Thank you for your input.

 

Currently, there is no way to put the generation in the design name template. Only the documented variables can be used.

 

- We did a lot on the optimization part In the 4.0 version of CAESES, which will be released soon.

 

- We added graphs to give an overview of the progress of the optimization as well as regressions and influences in real time (while the engine is running)

 

- There will be also a DAKOTA integration, which will allow you to use the algorithms available within DAKOTA inside CAESES.

 

We are also working on ideas like detecting the best design(s) after an optimization and more, but these will be available at a later stage.

 

Cheers,

Stefan

Share this post


Link to post
Share on other sites

HI Oliver,

in principle the restart is possible. After a DesignEngine is completed, you can access the table and find the best design and you should also be able to start a new search from that design automatically. We will come back to you ...

Cheers

Claus

Share this post


Link to post
Share on other sites

Just a small note:

 

With version 4.0, it basically will be also possible to run a global optimization and do the fine-tuning (e.g. a local optimization) for a selection of the best designs. All without manual interaction.

 

Cheers

Joerg

Share this post


Link to post
Share on other sites

Hi again,

 

Based on Claus suggestion, I wrote a feature theat would give you the best design available for a specified objective.

 

So you might write a script like this:

 

// run first engine

designEngine1.run()

 

// set best design as current design

myFindBest.getBest().edit()

 

// run second engine

designEngine2.run()

 

I hope that helps.

 

Cheers,

Stefan

findBestDesign.fdf

Share this post


Link to post
Share on other sites

Try this ...

 

// run first engine

vary.run()

// set best design as current design
findBest.getBest().edit()

// run second engine
optimize.setUseResultPool(false)
optimize.run()

// go back to Baseline
baseline.edit()
 

Cheers

Claus

Share this post


Link to post
Share on other sites
Guest Mr. Olivier Duquette

Hi,

 

When you are talking about a script, is it a feature? Or there is something else I am missing?

Because I have created a feature with two design engines and the feature that you posted as arguments, and I am getting an error for this line of the script:
myFindBest.getBest().edit()

 

I am not sure of the type of the argument for your feature, is it :

FFeatureDefinition

FFeature

FFeature::findBestDesign

 

 

P.S.  When you say that the 4.0 version of CAESES will be released soon, are you talking in terms of weeks, months?

 

 

Cheers,

Olivier

 


 

Share this post


Link to post
Share on other sites

Hi Oliver,

 

Beside features, there is an option to execute script-files within CAESES (File->Execute Script).

A script is simply a sequence of commands you could also write in the console that will be executed one after each other.

 

So the idea is to setup the project, containing a feature like the one I posted and the two design engines and additionally create a script-file with a sequence of commands similar to Claus last posting.

Then you simply execute the script which then triggers the first design engine, after that determines the best design and uses this as base for the second design engine.

 

Concerning 4.0, we are (hopefully) talking about weeks ;)

 

Cheers,

Stefan

Share this post


Link to post
Share on other sites

Hi Stefan,

thankyou very much for this feature.

 

The main problem is that it calculate the best design of all the created designs and not only for current optimization.

 

It´s possible to avoid this problem? (Without delete all the previous optimization?)

Thanks,

Carlo

Share this post


Link to post
Share on other sites

Hello Stefan,

I solved!

You need to put these lines:

"foreach( fdesign des : designs)
  fdesign des2(des)
  fstring name(des2.getName())
  if(name.startsWith(runname))
......

......
endif
endfor

 

and the run name must be like runname_number_des, in order to avoid the baseline and other designs.

 

Cheers,

Carlo

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×
×
  • Create New...