Jump to content
Felix Baumgärtner

Constraints for groups of design variables

Recommended Posts


I'm searching for an easy way to implement the following constraint for a group of design variables in an optimization study within the Hyperstudy interface.


Let's assume we have the variables A, B, and C wich should be varied within the following ranges:

A: Lower Bound: 0, Upper Bound: 1, Initial Value: 0.33

B: Lower Bound: 0, Upper Bound: 1, Initial Value: 0.33

C: Lower Bound: 0, Upper Bound: 1, Initial Value: 0.33

Whereas the general constraint A+B+C<=1 musn't be violated.


My approach using the function "Link Variables" did not lead to an appropriate result.

I would like to avoid a redefinition of the parameters within the solver input file (i.e. by A = A/(A+B+C), in consideration of the explicit assignment between the parameters defined by Hyperstudy and the "real" parameters used within the solver.


Does anybody know of an convenient way to implement the constraints as described?

Thank you for your efforts in advance.




Share this post

Link to post
Share on other sites

HST is structured so that all the unlinked design variables are truly independent, so there is no direct way to enforce an a prior constraint like this in HST today.Try adding constraints on dvs (by passing them as responses).But That would still result in wasted runs.This  comment is for Linking DVs.


We don’t have any setup today that allows to enforce this type of condition.  Our setup is dependent on their being indpenendent variables.


However, in the past we have accomplished the same thing by introducing a dummy variable which is a percentage (from 0 to 1) and is used to enforce the condition. 


For example, consider a condition that x + y < 10.

X = normal DV in range [0,10]

Z = dummy variable in range [0,1]

Y = (10-x)*z


See the attached scatter plot from a HST of a Hammersley DOE of this space, you can see the shape of the space matches your required space.  This setup has some less than ideal characteristics when you do optimization because the variables are not independent.  The optimization will still work, but the convergence may take longer.  I attached an example archive of this setup for your review.


Another option, which you pointed out below is to just the optimizer and tell it ignore failed runs.  You mentioned this below, and rightly pointed out that GRSM will not use the maximum number of runs.   But this is easily worked around by just increasing the number of runs.  Set it high (1000) and just kill it when you are satisfied with its number of runs.


I hope one of these two suggestions helps,



Share this post

Link to post
Share on other sites

Hello Rahul,


I forgot mentioning that i am of course using a GRSM since we have to expect several local minima.

Thank you for alluding to this implication.


Your approach using dummy variables helped to increase the efficiency of the optimization, although it is not exactly what i was hoping to find.




Share this post

Link to post
Share on other sites

Hi Rahul,


I have a variable (var_21) linked to multiple variables (B, C, D). Variables B,C & D are independent and Optimizer will vary them. 


But I need to give a constraint to variable var_21. I tried adding Constraints in the "Define Input Variables" section, But HS is throwing an error saying

"581 Error  : Failed evaluating ( var_21 ) which is the ( Left Expression ) of the constraint ( con_1 ) the error was: ( Use of linked variable ( var_21 ) is invalid in a constraint expression. )"


Can you suggest me some ways to do this?


Thanks in Advance


Share this post

Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

You are posting as a guest. If you have an account, please sign in.
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

  • Create New...