<?xml version='1.0' encoding='UTF-8' ?>
<!DOCTYPE html
  SYSTEM "about:legacy-compat">
<html xmlns:mml = "http://www.w3.org/1998/Math/MathML" lang = "en"><head><meta charset = "UTF-8"/><meta name = "copyright" content = "(C) Copyright 2020"/><meta name = "DC.rights.owner" content = "(C) Copyright 2020"/><meta name = "DC.type" content = "concept"/><meta name = "abstract" content = "To optimize something you need to know what to optimize. Do you want to minimize stresses? Or maximize all eigenvalues?"/><meta name = "description" content = "To optimize something you need to know what to optimize. Do you want to minimize stresses? Or maximize all eigenvalues?"/><meta name = "DC.relation" scheme = "URI" content = "../TsoCmdMap/tso-m-cmd-dresp-sb.htm#tso-m-cmd-dresp-sb"/><meta name = "DC.relation" scheme = "URI" content = "../TsoCmdMap/tso-r-cmd-objFunc.htm#tso-r-cmd-objFunc"/><meta name = "DC.relation" scheme = "URI" content = "../TsoCmdMap/tso-r-cmd-constraint.htm#tso-r-cmd-constraint"/><meta name = "DC.relation" scheme = "URI" content = "../TsoCmdMap/tso-r-cmd-optimize.htm#tso-r-cmd-optimize"/><meta name = "DC.format" content = "HTML5"/><meta name = "DC.identifier" content = "tso-c-usr-terms-ovw"/><meta name = "DC.language" content = "en"/><link rel = "stylesheet" type = "text/css" href = "../DSDocUI_XML34.css"/><title>Overview of Optimization Terms</title>
<script type = "text/javascript" src = "../DSDocUI_Highlight34.js">
  	/* */
  	</script><script type = "text/javascript" src = "../MathJax/MathJax.js?config=DS-default,local/local">
  		/* */
  		</script></head><body onLoad = "highlightSearchTerms();" id = "tso-c-usr-terms-ovw">
<a name = "hj-top"> </a><table class = "table1" id = "table11"><tr><td><table class = "DocHeader"><tr><td class = "DocHeader1" colspan = "2"><h1>Overview of Optimization Terms</h1></td></tr><tr><td class = "DocHeader4" colspan = "2"/></tr><tr><td class = "DocHeader3"><table class = "DocHeaderIntro" id = "table12"><tr><td class = "Intro1Only"><p class = "header"><p class = "abstract">
<span class = "shortdesc">
To optimize something you need to know what to optimize. Do
you want to minimize stresses? Or maximize all eigenvalues?
</span>

</p>
<ul><li><a href = "#tso-c-usr-terms-ovw__tso-c-usr-terms-ovw-math" id = "toc_rg" title = ""> Mathematical Formulation</a></li></ul>
</p></td></tr></table></td><td class = "DocHeader2"><table class = "DocTopicsSeeAlso" id = "table13"><tr><td class = "TopicsTitle">See Also</td></tr></table><table class = "DocTopicsInOtherGuides" id = "table14"><tr><td height = "8px"/></tr><tr><td class = "TopicsTitleNormal">In Other Guides</td></tr><tr><td><a title = "The design response command DRESP defines the system response for the current analysis model." href = "../TsoCmdMap/tso-m-cmd-dresp-sb.htm#tso-m-cmd-dresp-sb">DRESP</a></td></tr><tr><td><a title = "Defines the objective function of the optimization." href = "../TsoCmdMap/tso-r-cmd-objFunc.htm#tso-r-cmd-objFunc">OBJ_FUNC</a></td></tr><tr><td><a title = "Definition of an equality or inequality (less or equal/ greater or equal) constraint. The constraint is defined with respect to a design response." href = "../TsoCmdMap/tso-r-cmd-constraint.htm#tso-r-cmd-constraint">CONSTRAINT</a></td></tr><tr><td><a title = "Defines the optimization task." href = "../TsoCmdMap/tso-r-cmd-optimize.htm#tso-r-cmd-optimize">OPTIMIZE</a></td></tr></table></td></tr></table>




<div class = "body conbody">
<p>The two above statements are too unclear for defining an optimization. Therefore, we usually
                                                  reduce the “what” to well-defined terms, say:
                                                  Minimize the maximal nodal stresses of <span class = "ph">load case</span> 1 and 2, or maximize the sum of the first 5
                                                  eigenvalues.</p>
<p>The goal or objective of an optimization is usually called the objective function; for example, when you
                                                  want to minimize or maximize some well-defined
                                                  terms. You might also want to enforce certain
                                                  values; for example, a displacement of a given
                                                  node must not exceed a certain value. This would
                                                  be defined through a constraint.</p>
<p>In <span class = "ph">Tosca Structure</span>
the objective function depends on at least one term or more, whereas
a constraint always depends on exactly one term.
In <span class = "ph">Tosca Structure</span>,
these terms or responses are called design response(s), or short DRESP.
DRESPs are the fundamental definitions of the optimization problem.</p>
<p>Most DRESP definitions depend on a node or element group, but there are exceptions such as
                                                  eigenfrequencies (<code class = "ph codeph">TYPE=DYN_FREQ</code>).
                                                  The node or element group might also consist of
                                                  one single item, say one node; for example, displacement
                                                  in X-direction of a node
                                                  (<code class = "ph codeph">TYPE=DISP_X</code>). The optimization
                                                  problem is summarized in the
                                                  <code class = "ph codeph">OPTIMIZE</code> command and the
                                                  dependencies can be visualized in following
                                                  way:</p>
<p><br/><img class = "image" id = "tso-c-usr-terms-ovw__image_E9DBB94F973140F68A9E805B5EFB92D9" src = "../TsoUserImages/terms_chain.png" width = "474" height = "72"/><br/></p>

<div class = "section" id = "tso-c-usr-terms-ovw__tso-c-usr-terms-ovw-math"><h2 class = "title sectiontitle"> Mathematical Formulation</h2>

<p>An optimization problem can be stated as:</p>
<table class = "table"><caption/><colgroup><col style = "width:100%"/></colgroup><tbody class = "tbody">
<tr class = "row"><td class = "entry"><p>min <span class = "ph inlineequation"><math width = "284" height = "37" class = "- topic/foreign "><mrow class = "- topic/foreign "><mtext class = "- topic/foreign "> </mtext><mi mathvariant = "normal" class = "- topic/foreign ">Φ</mi><mo class = "- topic/foreign ">⁢</mo><mo class = "- topic/foreign ">(</mo><mi class = "- topic/foreign ">U</mi><mo class = "- topic/foreign ">(</mo><mi class = "- topic/foreign ">x</mi><mo class = "- topic/foreign ">)</mo><mo class = "- topic/foreign ">,</mo><mi class = "- topic/foreign ">x</mi><mo class = "- topic/foreign ">)</mo></mrow></math></span></p>
                           <p>such that <span class = "ph inlineequation"><math width = "287" height = "37" class = "- topic/foreign "><mrow class = "- topic/foreign "><msub class = "- topic/foreign "><mrow class = "- topic/foreign "><mi mathvariant = "normal" class = "- topic/foreign ">Ψ</mi></mrow><mrow class = "- topic/foreign "><mi class = "- topic/foreign ">i</mi></mrow></msub><mo class = "- topic/foreign ">(</mo><mi class = "- topic/foreign ">U</mi><mo class = "- topic/foreign ">(</mo><mi class = "- topic/foreign ">x</mi><mo class = "- topic/foreign ">)</mo><mo class = "- topic/foreign ">,</mo><mi class = "- topic/foreign ">x</mi><mo class = "- topic/foreign ">)</mo><mtext class = "- topic/foreign "> </mtext><mo class = "- topic/foreign ">≤</mo><mtext class = "- topic/foreign "> </mtext><mn class = "- topic/foreign ">0</mn></mrow></math></span></p>
                           <p>such that <span class = "ph inlineequation"><math width = "287" height = "37" class = "- topic/foreign "><mrow class = "- topic/foreign "><mtext class = "- topic/foreign "> </mtext><msub class = "- topic/foreign "><mrow class = "- topic/foreign "><mi class = "- topic/foreign ">g</mi></mrow><mrow class = "- topic/foreign "><mi class = "- topic/foreign ">i</mi></mrow></msub><mo class = "- topic/foreign ">(</mo><mi class = "- topic/foreign ">x</mi><mo class = "- topic/foreign ">)</mo><mtext class = "- topic/foreign "> </mtext><mo class = "- topic/foreign ">≤</mo><mn class = "- topic/foreign ">0</mn></mrow></math></span></p></td>
</tr>
</tbody></table>

<p>where <span class = "ph inlineequation">
                                                  <math width = "12" height = "13" class = "- topic/foreign ">
                                                  <mi class = "- topic/foreign ">Φ</mi>
                                                  </math>
                                                  </span> is the objective function that
                                                  depends on the state variables, <span class = "ph inlineequation">
                                                  <math width = "14" height = "13" class = "- topic/foreign ">
                                                  <mi class = "- topic/foreign ">U</mi>
                                                  </math>
                                                  </span> , as well as on the design
                                                  variables <span class = "ph inlineequation">
                                                  <math width = "9" height = "9" class = "- topic/foreign ">
                                                  <mi class = "- topic/foreign ">x</mi>
                                                  </math>
                                                  </span>. The problem might be
                                                  constrained by the constraints <span class = "ph inlineequation">
                                                  <math width = "20" height = "17" class = "- topic/foreign ">
                                                  <msub class = "- topic/foreign ">
                                                  <mrow class = "- topic/foreign ">
                                                  <mi mathvariant = "normal" class = "- topic/foreign ">Ψ</mi>
                                                  </mrow>
                                                  <mrow class = "- topic/foreign ">
                                                  <mi class = "- topic/foreign ">i</mi>
                                                  </mrow>
                                                  </msub>
                                                  </math>
                                                  </span>, and might have the design
                                                  variable constraints <span class = "ph inlineequation">
                                                  <math width = "16" height = "14" class = "- topic/foreign ">
                                                  <msub class = "- topic/foreign ">
                                                  <mrow class = "- topic/foreign ">
                                                  <mi mathvariant = "normal" class = "- topic/foreign ">g</mi>
                                                  </mrow>
                                                  <mrow class = "- topic/foreign ">
                                                  <mi class = "- topic/foreign ">i</mi>
                                                  </mrow>
                                                  </msub>
                                                  </math>
                                                  </span>. Note, that maximizing the
                                                  objective is the same as minimizing <span class = "ph inlineequation">
                                                  <math width = "28" height = "13" class = "- topic/foreign ">
                                                  <mo class = "- topic/foreign ">-</mo>
                                                  <mi class = "- topic/foreign ">Φ</mi>
                                                  </math>
                                                  </span>.</p>
<p>For minimization (MIN) or maximization (MAX), the objective function
consists of a sum of design responses (
<span class = "ph inlineequation"><math width = "18" height = "13" class = "- topic/foreign "><msub class = "- topic/foreign "><mi mathvariant = "normal" class = "- topic/foreign ">φ</mi><mi class = "- topic/foreign ">i</mi></msub></math></span>
). Each design response
can be given a weight (
<span class = "ph inlineequation"><math width = "21" height = "13" class = "- topic/foreign "><msub class = "- topic/foreign "><mi mathvariant = "normal" class = "- topic/foreign ">w</mi><mi class = "- topic/foreign ">i</mi></msub></math></span>
) and a reference value
(
<span class = "ph inlineequation"><math width = "28" height = "26" class = "- topic/foreign "><msubsup class = "- topic/foreign "><mi mathvariant = "normal" class = "- topic/foreign ">φ</mi><mi class = "- topic/foreign ">i</mi><mtext class = "- topic/foreign ">ref</mtext></msubsup></math></span>
). By minimizing or maximizing
the objective, one gets the formulations:</p>
<table class = "table" id = "tso-c-usr-terms-ovw__table_BEDBFEDB024F458C92041508993A50C0"><caption/><colgroup><col style = "width:100%"/></colgroup><tbody class = "tbody">
<tr class = "row">
<td class = "entry"><p><span class = "ph inlineequation"><math width = "284" height = "37" class = "- topic/foreign "><mrow class = "- topic/foreign "><mtext class = "- topic/foreign ">min </mtext><mfenced open = "(" close = ")" separators = "," class = "- topic/foreign "><munderover class = "- topic/foreign "><mo class = "- topic/foreign ">∑</mo><mrow class = "- topic/foreign "><mi class = "- topic/foreign ">i</mi><mo class = "- topic/foreign ">=</mo><mn class = "- topic/foreign ">1</mn></mrow><mrow class = "- topic/foreign "><mi class = "- topic/foreign ">N</mi></mrow></munderover><msub class = "- topic/foreign "><mi mathvariant = "normal" class = "- topic/foreign ">w</mi><mi class = "- topic/foreign ">i</mi></msub><mfenced open = "(" close = ")" separators = "" class = "- topic/foreign "><msub class = "- topic/foreign "><mrow class = "- topic/foreign "><mi mathvariant = "normal" class = "- topic/foreign ">φ</mi></mrow><mrow class = "- topic/foreign "><mi class = "- topic/foreign ">i</mi></mrow></msub><mfenced open = "(" close = ")" separators = "," class = "- topic/foreign "><mrow class = "- topic/foreign "><mo class = "- topic/foreign ">U(x)</mo></mrow><mrow class = "- topic/foreign "><mo class = "- topic/foreign ">x</mo></mrow></mfenced><mo class = "- topic/foreign ">-</mo><msubsup class = "- topic/foreign "><mi mathvariant = "normal" class = "- topic/foreign ">φ</mi><mi class = "- topic/foreign ">i</mi><mtext class = "- topic/foreign ">ref</mtext></msubsup></mfenced></mfenced></mrow></math></span></p>
                      <p><span class = "ph inlineequation"><math width = "287" height = "37" class = "- topic/foreign "><mrow class = "- topic/foreign "><mtext class = "- topic/foreign ">max </mtext><mfenced open = "(" close = ")" separators = "," class = "- topic/foreign "><munderover class = "- topic/foreign "><mo class = "- topic/foreign ">∑</mo><mrow class = "- topic/foreign "><mi class = "- topic/foreign ">i</mi><mo class = "- topic/foreign ">=</mo><mn class = "- topic/foreign ">1</mn></mrow><mrow class = "- topic/foreign "><mi class = "- topic/foreign ">N</mi></mrow></munderover><msub class = "- topic/foreign "><mi mathvariant = "normal" class = "- topic/foreign ">w</mi><mi class = "- topic/foreign ">i</mi></msub><mfenced open = "(" close = ")" separators = "" class = "- topic/foreign "><msub class = "- topic/foreign "><mrow class = "- topic/foreign "><mi mathvariant = "normal" class = "- topic/foreign ">φ</mi></mrow><mrow class = "- topic/foreign "><mi class = "- topic/foreign ">i</mi></mrow></msub><mfenced open = "(" close = ")" separators = "," class = "- topic/foreign "><mrow class = "- topic/foreign "><mo class = "- topic/foreign ">U(x)</mo></mrow><mrow class = "- topic/foreign "><mo class = "- topic/foreign ">x</mo></mrow></mfenced><mo class = "- topic/foreign ">-</mo><msubsup class = "- topic/foreign "><mi mathvariant = "normal" class = "- topic/foreign ">φ</mi><mi class = "- topic/foreign ">i</mi><mtext class = "- topic/foreign ">ref</mtext></msubsup></mfenced></mfenced></mrow></math></span></p></td>
</tr>
</tbody></table>

<p>Other important optimization formulations are to minimize the maximum
design response and to maximize the minimum
design response, the so-called MIN-MAX and MAX-MIN formulations. For controller-based optimization algorithms, the corresponding terms are:
</p>
<table class = "table" id = "tso-c-usr-terms-ovw__table_AE177AA315944E7985EFA6BD981501FA"><caption/><colgroup><col style = "width:100%"/></colgroup><tbody class = "tbody">
<tr class = "row">
<td class = "entry"><p><span class = "ph inlineequation"><math width = "268" height = "42" class = "- topic/foreign "><mrow class = "- topic/foreign "><munderover class = "- topic/foreign "><mtext class = "- topic/foreign ">minmax </mtext><mrow class = "- topic/foreign "><mi class = "- topic/foreign ">i</mi><mo class = "- topic/foreign ">=</mo><mn class = "- topic/foreign ">1</mn></mrow><mrow class = "- topic/foreign "><mi class = "- topic/foreign ">N</mi></mrow></munderover><mfenced open = "{" close = "}" separators = "" class = "- topic/foreign "><msub class = "- topic/foreign "><mi mathvariant = "normal" class = "- topic/foreign ">w</mi><mi class = "- topic/foreign ">i</mi></msub><mfenced open = "(" close = ")" separators = "" class = "- topic/foreign "><msub class = "- topic/foreign "><mrow class = "- topic/foreign "><mi mathvariant = "normal" class = "- topic/foreign ">φ</mi></mrow><mrow class = "- topic/foreign "><mi class = "- topic/foreign ">i</mi></mrow></msub><mfenced open = "(" close = ")" separators = "," class = "- topic/foreign "><mrow class = "- topic/foreign "><mo class = "- topic/foreign ">U(x)</mo></mrow><mrow class = "- topic/foreign "><mo class = "- topic/foreign ">x</mo></mrow></mfenced><mo class = "- topic/foreign ">-</mo><msubsup class = "- topic/foreign "><mi mathvariant = "normal" class = "- topic/foreign ">φ</mi><mi class = "- topic/foreign ">i</mi><mtext class = "- topic/foreign ">ref</mtext></msubsup></mfenced></mfenced></mrow></math></span></p>
                      <p><span class = "ph inlineequation"><math height = "42" width = "268" class = "- topic/foreign "><mrow class = "- topic/foreign "><munderover class = "- topic/foreign "><mtext class = "- topic/foreign ">maxmin</mtext><mrow class = "- topic/foreign "><mi class = "- topic/foreign ">i</mi><mo class = "- topic/foreign ">=</mo><mn class = "- topic/foreign ">1</mn></mrow><mrow class = "- topic/foreign "><mi class = "- topic/foreign ">N</mi></mrow></munderover><mfenced separators = "" close = "}" open = "{" class = "- topic/foreign "><msub class = "- topic/foreign "><mi mathvariant = "normal" class = "- topic/foreign ">w</mi><mi class = "- topic/foreign ">i</mi></msub><mfenced separators = "" close = ")" open = "(" class = "- topic/foreign "><msub class = "- topic/foreign "><mrow class = "- topic/foreign "><mi mathvariant = "normal" class = "- topic/foreign ">φ</mi></mrow><mrow class = "- topic/foreign "><mi class = "- topic/foreign ">i</mi></mrow></msub><mfenced separators = "," close = ")" open = "(" class = "- topic/foreign "><mrow class = "- topic/foreign "><mo class = "- topic/foreign ">U(x)</mo></mrow><mrow class = "- topic/foreign "><mo class = "- topic/foreign ">x</mo></mrow></mfenced><mo class = "- topic/foreign ">-</mo><msubsup class = "- topic/foreign "><mi mathvariant = "normal" class = "- topic/foreign ">φ</mi><mi class = "- topic/foreign ">i</mi><mtext class = "- topic/foreign ">ref</mtext></msubsup></mfenced></mfenced></mrow></math></span></p></td>
</tr>
</tbody></table>
<p>For sensitivity-based algorithms, the absolute values of the corresponding terms are considered:</p>

<table class = "table" id = "tso-c-usr-terms-ovw__table_AE177AA315944E7985EFA6BD981501FB"><caption/><colgroup><col style = "width:100%"/></colgroup><tbody class = "tbody">
<tr class = "row">
<td class = "entry"><p><span class = "ph inlineequation"><math width = "268" height = "42" class = "- topic/foreign "><mrow class = "- topic/foreign "><munderover class = "- topic/foreign "><mrow class = "- topic/foreign "><mtext class = "- topic/foreign ">minmax</mtext></mrow><mrow class = "- topic/foreign "><mi class = "- topic/foreign ">i</mi><mo class = "- topic/foreign ">=</mo><mn class = "- topic/foreign ">1</mn></mrow><mrow class = "- topic/foreign "><mi class = "- topic/foreign ">N</mi></mrow></munderover><mrow class = "- topic/foreign "><mo class = "- topic/foreign ">{</mo><mrow class = "- topic/foreign "><msub class = "- topic/foreign "><mrow class = "- topic/foreign "><mi mathvariant = "normal" class = "- topic/foreign ">w</mi></mrow><mrow class = "- topic/foreign "><mi class = "- topic/foreign ">i</mi></mrow></msub><mrow class = "- topic/foreign "><mo class = "- topic/foreign ">|</mo><mrow class = "- topic/foreign "><msub class = "- topic/foreign "><mrow class = "- topic/foreign "><mi mathvariant = "normal" class = "- topic/foreign ">φ</mi></mrow><mrow class = "- topic/foreign "><mi class = "- topic/foreign ">i</mi></mrow></msub><mrow class = "- topic/foreign "><mo class = "- topic/foreign ">(</mo><mrow class = "- topic/foreign "><mrow class = "- topic/foreign "><mo class = "- topic/foreign ">U(x)</mo></mrow><mo class = "- topic/foreign ">,</mo><mrow class = "- topic/foreign "><mo class = "- topic/foreign ">x</mo></mrow></mrow><mo class = "- topic/foreign ">)</mo></mrow><mo class = "- topic/foreign ">-</mo><msubsup class = "- topic/foreign "><mrow class = "- topic/foreign "><mi mathvariant = "normal" class = "- topic/foreign ">φ</mi></mrow><mrow class = "- topic/foreign "><mi class = "- topic/foreign ">i</mi></mrow><mrow class = "- topic/foreign "><mtext class = "- topic/foreign ">ref</mtext></mrow></msubsup></mrow><mo class = "- topic/foreign ">|</mo></mrow></mrow><mo class = "- topic/foreign ">}</mo></mrow></mrow></math></span></p>
                      <p><span class = "ph inlineequation"><math width = "268" height = "42" class = "- topic/foreign "><mrow class = "- topic/foreign "><munderover class = "- topic/foreign "><mrow class = "- topic/foreign "><mtext class = "- topic/foreign ">maxmin</mtext></mrow><mrow class = "- topic/foreign "><mi class = "- topic/foreign ">i</mi><mo class = "- topic/foreign ">=</mo><mn class = "- topic/foreign ">1</mn></mrow><mrow class = "- topic/foreign "><mi class = "- topic/foreign ">N</mi></mrow></munderover><mrow class = "- topic/foreign "><mo class = "- topic/foreign ">{</mo><mrow class = "- topic/foreign "><msub class = "- topic/foreign "><mrow class = "- topic/foreign "><mi mathvariant = "normal" class = "- topic/foreign ">w</mi></mrow><mrow class = "- topic/foreign "><mi class = "- topic/foreign ">i</mi></mrow></msub><mo class = "- topic/foreign ">|</mo><mrow class = "- topic/foreign "><mrow class = "- topic/foreign "><msub class = "- topic/foreign "><mrow class = "- topic/foreign "><mi mathvariant = "normal" class = "- topic/foreign ">φ</mi></mrow><mrow class = "- topic/foreign "><mi class = "- topic/foreign ">i</mi></mrow></msub><mrow class = "- topic/foreign "><mo class = "- topic/foreign ">(</mo><mrow class = "- topic/foreign "><mrow class = "- topic/foreign "><mo class = "- topic/foreign ">U(x)</mo></mrow><mo class = "- topic/foreign ">,</mo><mrow class = "- topic/foreign "><mo class = "- topic/foreign ">x</mo></mrow></mrow><mo class = "- topic/foreign ">)</mo></mrow><mo class = "- topic/foreign ">-</mo><msubsup class = "- topic/foreign "><mrow class = "- topic/foreign "><mi mathvariant = "normal" class = "- topic/foreign ">φ</mi></mrow><mrow class = "- topic/foreign "><mi class = "- topic/foreign ">i</mi></mrow><mrow class = "- topic/foreign "><mtext class = "- topic/foreign ">ref</mtext></mrow></msubsup></mrow><mo class = "- topic/foreign ">|</mo></mrow></mrow><mo class = "- topic/foreign ">}</mo></mrow></mrow></math></span></p></td>
</tr>
</tbody></table>

<p>The MINMAX or MAXMIN formulations should always be used for controller-based optimization. For
                                                  sensitivity-based optimization MIN or MAX is
                                                  preferred because they tend to converge better and
                                                  faster. Consider the remark in the next section
                                                  regarding default reference value and shape
                                                  optimization. </p>
</div>

</div>

<div class = "related-links"/>
</td></tr></table><script type = "text/javascript" src = "../DSDocUI_Bottom34.js">/* */</script></body>
</html>
