source/text/scalc/00/00000406.xhp | 19 +++++ source/text/scalc/01/solver.xhp | 124 +++++++++++++++++++------------------- 2 files changed, 80 insertions(+), 63 deletions(-)
New commits: commit b3f698f85e18a09f6944f1f4083498496a1a8ba5 Author: Olivier Hallot <[email protected]> AuthorDate: Sat Jan 6 17:47:47 2024 -0300 Commit: Olivier Hallot <[email protected]> CommitDate: Sun Jan 7 00:30:50 2024 +0100 tdf#155876 UI cmds Calc-Tools menu (53) + Tools menu for Calc, Solver + fixes + refactoring Change-Id: I9f3ff23ffed4c688e9fc029147cdaf1fa1bda698 Reviewed-on: https://gerrit.libreoffice.org/c/help/+/161731 Tested-by: Jenkins Reviewed-by: Olivier Hallot <[email protected]> diff --git a/source/text/scalc/00/00000406.xhp b/source/text/scalc/00/00000406.xhp index fe54f04ff2..d39960c18b 100644 --- a/source/text/scalc/00/00000406.xhp +++ b/source/text/scalc/00/00000406.xhp @@ -66,7 +66,24 @@ </table> </section> -<paragraph id="par_id3269142" role="paragraph"><variable id="solver">Choose <emph>Tools - Solver</emph>.</variable></paragraph> +<section id="solver"> + <embed href="text/shared/00/00000004.xhp#from_menu_bar"/> + <paragraph id="par_id3269142" role="paragraph">Choose <menuitem>Tools - Solver</menuitem>.</paragraph> + <embed href="text/shared/00/00000004.xhp#from_tabUI"/> + <paragraph role="paragraph" id="par_id91704560391217">Choose <menuitem>Tools - Solver</menuitem>.</paragraph> + <paragraph role="paragraph" id="par_id571704560376308">On the <menuitem>Tools</menuitem> menu of the <menuitem>Tools</menuitem> tab, choose <menuitem>Solver</menuitem>.</paragraph> + <embed href="text/shared/00/00000004.xhp#from_toolbars"/> + <table id="tab_id741704560400406"> + <tablerow> + <tablecell> + <paragraph id="par_id821704560400407" role="paragraph"><image src="cmd/lc_solverdialog.svg" id="img_id741704560400408" width="1cm" height="1cm"><alt id="alt_id221704560400409">Icon Solver</alt></image></paragraph> + </tablecell> + <tablecell> + <paragraph id="par_id541704560400411" role="paragraph">Solver</paragraph> + </tablecell> + </tablerow> + </table> +</section> <paragraph id="par_id8554338" role="paragraph"><variable id="solver_options">Choose <emph>Tools - Solver</emph>, click <emph>Options</emph> button.</variable></paragraph> <paragraph id="par_id3156277" role="paragraph"><variable id="exsze">Choose <emph>Tools - Scenarios</emph>.</variable></paragraph> diff --git a/source/text/scalc/01/solver.xhp b/source/text/scalc/01/solver.xhp index 2d0bbea81b..02ac5d8aad 100644 --- a/source/text/scalc/01/solver.xhp +++ b/source/text/scalc/01/solver.xhp @@ -20,15 +20,14 @@ <meta> <topic id="textscalc01solverxml" indexer="include" status="PUBLISH"> - <title id="tit" xml-lang="en-US">Solver</title> + <title id="tit">Solver</title> <filename>/text/scalc/01/solver.xhp</filename> </topic> </meta> <body> -<section id="solverhead"> -<bookmark xml-lang="en-US" branch="index" id="bm_id7654652"> +<bookmark branch="index" id="bm_id7654652"> <bookmark_value>goal seeking;solver</bookmark_value> <bookmark_value>what if operations;solver</bookmark_value> <bookmark_value>back-solving</bookmark_value> @@ -37,13 +36,14 @@ <bookmark_value>mathematical optimization;solver for Calc</bookmark_value> <bookmark_value>operations research;solver for Calc</bookmark_value> </bookmark> +<bookmark branch="hid/modules/scalc/ui/notebookbar/MenuTools-SolverDialog" id="bm_id261704560295796" localize="false"/> +<bookmark branch="hid/modules/scalc/ui/solverdlg/SolverDialog" id="bm_id5634023" localize="false"/> +<bookmark branch="hid/modules/scalc/ui/solverdlg/@@nowidget@@" id="bm_id5634023" localize="false"/> +<bookmark branch="hid/.uno:SolverDialog" id="bm_id5634022" localize="false"/> -<bookmark xml-lang="en-US" branch="hid/modules/scalc/ui/solverdlg/SolverDialog" id="bm_id5634023" localize="false"/> -<bookmark xml-lang="en-US" branch="hid/modules/scalc/ui/solverdlg/@@nowidget@@" id="bm_id5634023" localize="false"/> -<bookmark xml-lang="en-US" branch="hid/.uno:SolverDialog" id="bm_id5634022" localize="false"/> - +<section id="solverhead"> <h1 id="hd_id9216284"><variable id="solver"><link href="text/scalc/01/solver.xhp">Solver</link></variable></h1> -<paragraph id="par_id9210486" role="paragraph" xml-lang="en-US"><ahelp hid=".">Opens the Solver dialog. A solver allows you to solve mathematical problems with multiple unknown variables and a set of constraints on the variables by goal-seeking methods.</ahelp></paragraph> +<paragraph id="par_id9210486" role="paragraph"><ahelp hid=".">Opens the Solver dialog. A solver allows you to solve mathematical problems with multiple unknown variables and a set of constraints on the variables by goal-seeking methods.</ahelp></paragraph> </section> <section id="howtoget"> @@ -52,96 +52,96 @@ <comment>target cell</comment> <h2 id="hd_id21589912365601">Solver settings</h2> -<bookmark xml-lang="en-US" branch="hid/modules/scalc/ui/solverdlg/targetedit" id="bm_id8861964" localize="false"/> +<bookmark branch="hid/modules/scalc/ui/solverdlg/targetedit" id="bm_id8861964" localize="false"/> <h3 id="hd_id121589913023217">Target Cell</h3> -<paragraph id="par_id8538773" role="paragraph" xml-lang="en-US"><ahelp hid=".">Enter or click the cell reference of the target cell. This field takes the address of the cell whose value is to be optimized.</ahelp></paragraph> +<paragraph id="par_id8538773" role="paragraph"><ahelp hid=".">Enter or click the cell reference of the target cell. This field takes the address of the cell whose value is to be optimized.</ahelp></paragraph> <h3 id="hd_id441589913036601">Optimize results to</h3> -<bookmark xml-lang="en-US" branch="hid/modules/scalc/ui/solverdlg/max" id="bm_id8373973" localize="false"/> -<bookmark xml-lang="en-US" branch="hid/modules/scalc/ui/solverdlg/min" id="bm_id6767174" localize="false"/> -<bookmark xml-lang="en-US" branch="hid/modules/scalc/ui/solverdlg/valueedit" id="bm_id2756126" localize="false"/> -<bookmark xml-lang="en-US" branch="hid/modules/scalc/ui/solverdlg/value" id="bm_id5222022" localize="false"/> +<bookmark branch="hid/modules/scalc/ui/solverdlg/max" id="bm_id8373973" localize="false"/> +<bookmark branch="hid/modules/scalc/ui/solverdlg/min" id="bm_id6767174" localize="false"/> +<bookmark branch="hid/modules/scalc/ui/solverdlg/valueedit" id="bm_id2756126" localize="false"/> +<bookmark branch="hid/modules/scalc/ui/solverdlg/value" id="bm_id5222022" localize="false"/> <list type="unordered"> <listitem> - <paragraph id="par_id7564012" role="listitem" xml-lang="en-US"><ahelp hid="."><emph>Maximum:</emph> Try to solve the equation for a maximum value of the target cell.</ahelp></paragraph> + <paragraph id="par_id7564012" role="listitem"><ahelp hid="."><emph>Maximum:</emph> Try to solve the equation for a maximum value of the target cell.</ahelp></paragraph> </listitem> <listitem> - <paragraph id="par_id1186254" role="listitem" xml-lang="en-US"><ahelp hid="."><emph>Minimum:</emph> Try to solve the equation for a minimum value of the target cell.</ahelp></paragraph> + <paragraph id="par_id1186254" role="listitem"><ahelp hid="."><emph>Minimum:</emph> Try to solve the equation for a minimum value of the target cell.</ahelp></paragraph> </listitem> <listitem> - <paragraph id="par_id7432477" role="listitem" xml-lang="en-US"><ahelp hid="."><emph>Value of:</emph> Try to solve the equation to approach a given value of the target cell.</ahelp></paragraph> - <paragraph id="par_id7141026" role="listitem" xml-lang="en-US"><ahelp hid=".">Enter the value or a cell reference in the text field.</ahelp></paragraph> + <paragraph id="par_id7432477" role="listitem"><ahelp hid="."><emph>Value of:</emph> Try to solve the equation to approach a given value of the target cell.</ahelp></paragraph> + <paragraph id="par_id7141026" role="listitem"><ahelp hid=".">Enter the value or a cell reference in the text field.</ahelp></paragraph> </listitem> </list> <h3 id="hd_id761589914010085">By Changing Cells</h3> -<bookmark xml-lang="en-US" branch="hid/modules/scalc/ui/solverdlg/changeedit" id="bm_id4908902" localize="false"/> -<paragraph id="par_id8531449" role="paragraph" xml-lang="en-US"><ahelp hid=".">Enter the cell range that can be changed.</ahelp> These are the variables of the equations.</paragraph> -<bookmark xml-lang="en-US" branch="hid/modules/scalc/ui/solverdlg/ref1edit" id="bm_id8499099" localize="false"/> -<bookmark xml-lang="en-US" branch="hid/modules/scalc/ui/solverdlg/ref2edit" id="bm_id9544663" localize="false"/> -<bookmark xml-lang="en-US" branch="hid/modules/scalc/ui/solverdlg/ref3edit" id="bm_id5762199" localize="false"/> -<bookmark xml-lang="en-US" branch="hid/modules/scalc/ui/solverdlg/ref4edit" id="bm_id9534287" localize="false"/> -<bookmark xml-lang="en-US" branch="hid/modules/scalc/ui/solverdlg/op1list" id="bm_id9408551" localize="false"/> -<bookmark xml-lang="en-US" branch="hid/modules/scalc/ui/solverdlg/op2list" id="bm_id1329386" localize="false"/> -<bookmark xml-lang="en-US" branch="hid/modules/scalc/ui/solverdlg/op3list" id="bm_id4931180" localize="false"/> -<bookmark xml-lang="en-US" branch="hid/modules/scalc/ui/solverdlg/op4list" id="bm_id5970030" localize="false"/> -<bookmark xml-lang="en-US" branch="hid/modules/scalc/ui/solverdlg/var1edit" id="bm_id496841" localize="false"/> -<bookmark xml-lang="en-US" branch="hid/modules/scalc/ui/solverdlg/var2edit" id="bm_id7440717" localize="false"/> -<bookmark xml-lang="en-US" branch="hid/modules/scalc/ui/solverdlg/var3edit" id="bm_id2470778" localize="false"/> -<bookmark xml-lang="en-US" branch="hid/modules/scalc/ui/solverdlg/var4edit" id="bm_id3389080" localize="false"/> -<bookmark xml-lang="en-US" branch="hid/modules/scalc/ui/solverdlg/targetbutton" id="bm_id5104220" localize="false"/> -<bookmark xml-lang="en-US" branch="hid/modules/scalc/ui/solverdlg/valuebutton" id="bm_id6714" localize="false"/> -<bookmark xml-lang="en-US" branch="hid/modules/scalc/ui/solverdlg/changebutton" id="bm_id8507339" localize="false"/> -<bookmark xml-lang="en-US" branch="hid/modules/scalc/ui/solverdlg/ref1button" id="bm_id5296792" localize="false"/> -<bookmark xml-lang="en-US" branch="hid/modules/scalc/ui/solverdlg/ref2button" id="bm_id3949400" localize="false"/> -<bookmark xml-lang="en-US" branch="hid/modules/scalc/ui/solverdlg/ref3button" id="bm_id9991760" localize="false"/> -<bookmark xml-lang="en-US" branch="hid/modules/scalc/ui/solverdlg/ref4button" id="bm_id2726828" localize="false"/> -<bookmark xml-lang="en-US" branch="hid/modules/scalc/ui/solverdlg/var1button" id="bm_id6034424" localize="false"/> -<bookmark xml-lang="en-US" branch="hid/modules/scalc/ui/solverdlg/var2button" id="bm_id6998809" localize="false"/> -<bookmark xml-lang="en-US" branch="hid/modules/scalc/ui/solverdlg/var3button" id="bm_id71413" localize="false"/> -<bookmark xml-lang="en-US" branch="hid/modules/scalc/ui/solverdlg/var4button" id="bm_id2924283" localize="false"/> -<bookmark xml-lang="en-US" branch="hid/modules/scalc/ui/solverdlg/del1" id="bm_id5781731" localize="false"/> -<bookmark xml-lang="en-US" branch="hid/modules/scalc/ui/solverdlg/del2" id="bm_id6942045" localize="false"/> -<bookmark xml-lang="en-US" branch="hid/modules/scalc/ui/solverdlg/del3" id="bm_id4721823" localize="false"/> -<bookmark xml-lang="en-US" branch="hid/modules/scalc/ui/solverdlg/del4" id="bm_id5806756" localize="false"/> +<bookmark branch="hid/modules/scalc/ui/solverdlg/changeedit" id="bm_id4908902" localize="false"/> +<paragraph id="par_id8531449" role="paragraph"><ahelp hid=".">Enter the cell range that can be changed.</ahelp> These are the variables of the equations.</paragraph> +<bookmark branch="hid/modules/scalc/ui/solverdlg/ref1edit" id="bm_id8499099" localize="false"/> +<bookmark branch="hid/modules/scalc/ui/solverdlg/ref2edit" id="bm_id9544663" localize="false"/> +<bookmark branch="hid/modules/scalc/ui/solverdlg/ref3edit" id="bm_id5762199" localize="false"/> +<bookmark branch="hid/modules/scalc/ui/solverdlg/ref4edit" id="bm_id9534287" localize="false"/> +<bookmark branch="hid/modules/scalc/ui/solverdlg/op1list" id="bm_id9408551" localize="false"/> +<bookmark branch="hid/modules/scalc/ui/solverdlg/op2list" id="bm_id1329386" localize="false"/> +<bookmark branch="hid/modules/scalc/ui/solverdlg/op3list" id="bm_id4931180" localize="false"/> +<bookmark branch="hid/modules/scalc/ui/solverdlg/op4list" id="bm_id5970030" localize="false"/> +<bookmark branch="hid/modules/scalc/ui/solverdlg/var1edit" id="bm_id496841" localize="false"/> +<bookmark branch="hid/modules/scalc/ui/solverdlg/var2edit" id="bm_id7440717" localize="false"/> +<bookmark branch="hid/modules/scalc/ui/solverdlg/var3edit" id="bm_id2470778" localize="false"/> +<bookmark branch="hid/modules/scalc/ui/solverdlg/var4edit" id="bm_id3389080" localize="false"/> +<bookmark branch="hid/modules/scalc/ui/solverdlg/targetbutton" id="bm_id5104220" localize="false"/> +<bookmark branch="hid/modules/scalc/ui/solverdlg/valuebutton" id="bm_id6714" localize="false"/> +<bookmark branch="hid/modules/scalc/ui/solverdlg/changebutton" id="bm_id8507339" localize="false"/> +<bookmark branch="hid/modules/scalc/ui/solverdlg/ref1button" id="bm_id5296792" localize="false"/> +<bookmark branch="hid/modules/scalc/ui/solverdlg/ref2button" id="bm_id3949400" localize="false"/> +<bookmark branch="hid/modules/scalc/ui/solverdlg/ref3button" id="bm_id9991760" localize="false"/> +<bookmark branch="hid/modules/scalc/ui/solverdlg/ref4button" id="bm_id2726828" localize="false"/> +<bookmark branch="hid/modules/scalc/ui/solverdlg/var1button" id="bm_id6034424" localize="false"/> +<bookmark branch="hid/modules/scalc/ui/solverdlg/var2button" id="bm_id6998809" localize="false"/> +<bookmark branch="hid/modules/scalc/ui/solverdlg/var3button" id="bm_id71413" localize="false"/> +<bookmark branch="hid/modules/scalc/ui/solverdlg/var4button" id="bm_id2924283" localize="false"/> +<bookmark branch="hid/modules/scalc/ui/solverdlg/del1" id="bm_id5781731" localize="false"/> +<bookmark branch="hid/modules/scalc/ui/solverdlg/del2" id="bm_id6942045" localize="false"/> +<bookmark branch="hid/modules/scalc/ui/solverdlg/del3" id="bm_id4721823" localize="false"/> +<bookmark branch="hid/modules/scalc/ui/solverdlg/del4" id="bm_id5806756" localize="false"/> <h3 id="hd_id671589914927836">Limiting Conditions</h3> <paragraph role="paragraph" id="par_id421589915278885">Add the set of constraints for the mathematical problem. Each constraint is represented by a cell reference (a variable), an operator, and a value.</paragraph> <list type="unordered"> <listitem> - <paragraph id="par_id9183935" role="listitem" xml-lang="en-US"><ahelp hid="."><emph>Cell reference:</emph> Enter a cell reference of the variable.</ahelp></paragraph> - <paragraph id="par_id1939451" role="listitem" xml-lang="en-US"><ahelp hid=".">Click the Shrink button to shrink or restore the dialog. You can click or select cells in the sheet. You can enter a cell reference manually in the input box.</ahelp></paragraph> + <paragraph id="par_id9183935" role="listitem"><ahelp hid="."><emph>Cell reference:</emph> Enter a cell reference of the variable.</ahelp></paragraph> + <paragraph id="par_id1939451" role="listitem"><ahelp hid=".">Click the Shrink button to shrink or restore the dialog. You can click or select cells in the sheet. You can enter a cell reference manually in the input box.</ahelp></paragraph> </listitem> <listitem> - <paragraph id="par_id946684" role="listitem" xml-lang="en-US"><ahelp hid="."><emph>Operator:</emph> Select an operator from the list.</ahelp> Use Binary operator to restrict your variable to 0 or 1. Use the Integer operator to restrict your variable to take only integer values (no decimal part).</paragraph> + <paragraph id="par_id946684" role="listitem"><ahelp hid="."><emph>Operator:</emph> Select an operator from the list.</ahelp> Use Binary operator to restrict your variable to 0 or 1. Use the Integer operator to restrict your variable to take only integer values (no decimal part).</paragraph> </listitem> <listitem> - <paragraph id="par_id9607226" role="listitem" xml-lang="en-US"><ahelp hid="." ><emph>Value:</emph> Enter a value or a cell reference.</ahelp> This field is ignored when the operator is Binary or Integer.</paragraph> + <paragraph id="par_id9607226" role="listitem"><ahelp hid="."><emph>Value:</emph> Enter a value or a cell reference.</ahelp> This field is ignored when the operator is Binary or Integer.</paragraph> </listitem> <listitem> - <paragraph id="par_id9038972" role="paragraph" xml-lang="en-US"><ahelp hid="."><emph>Remove button:</emph> Click to remove the row from the list. Any rows from below this row move up.</ahelp></paragraph> + <paragraph id="par_id9038972" role="paragraph"><ahelp hid="."><emph>Remove button:</emph> Click to remove the row from the list. Any rows from below this row move up.</ahelp></paragraph> </listitem> </list> <note id="par_id511589916338595">You can set multiple conditions for a variable. For example, a variable in cell A1 that must be an integer less than 10. In that case, set two limiting conditions for A1.</note> <h3 id="hd_id441589917031236">Options</h3> -<bookmark xml-lang="en-US" branch="hid/modules/scalc/ui/solverdlg/options" id="bm_id8915372" localize="false"/> -<paragraph id="par_id2423780" role="paragraph" xml-lang="en-US"><ahelp hid=".">Opens the <link href="text/scalc/01/solver_options.xhp#solveroptionsh1">Solver Options</link> dialog.</ahelp></paragraph> +<bookmark branch="hid/modules/scalc/ui/solverdlg/options" id="bm_id8915372" localize="false"/> +<paragraph id="par_id2423780" role="paragraph"><ahelp hid=".">Opens the <link href="text/scalc/01/solver_options.xhp#solveroptionsh1">Solver Options</link> dialog.</ahelp></paragraph> <paragraph role="paragraph" id="par_id221589917833431">The <emph>Solver Options</emph> dialog let you select the different solver algorithms for either linear and non-linear problems and set their solving parameters.</paragraph> <h3 id="hd_id771589917064147">Solve</h3> <comment>solve button</comment> -<bookmark xml-lang="en-US" branch="hid/modules/scalc/ui/solverdlg/solve" id="bm_id6070436" localize="false"/> -<paragraph id="par_id2569658" role="paragraph" xml-lang="en-US"><ahelp hid=".">Click to solve the problem with the current settings. The dialog settings are retained until you close the current document.</ahelp></paragraph> +<bookmark branch="hid/modules/scalc/ui/solverdlg/solve" id="bm_id6070436" localize="false"/> +<paragraph id="par_id2569658" role="paragraph"><ahelp hid=".">Click to solve the problem with the current settings. The dialog settings are retained until you close the current document.</ahelp></paragraph> <h2 id="par_id5474410">To solve equations with the solver</h2> -<paragraph id="par_id2216559" role="paragraph" xml-lang="en-US">The goal of the solver process is to find those variable values of an equation that result in an optimized value in the <emph>target cell</emph>, also named the "objective". You can choose whether the value in the target cell should be a maximum, a minimum, or approaching a given value.</paragraph> -<paragraph id="par_id7869502" role="paragraph" xml-lang="en-US">The initial variable values are inserted in a rectangular cell range that you enter in the <emph>By changing cells</emph> box.</paragraph> -<paragraph id="par_id9852900" role="paragraph" xml-lang="en-US">You can define a series of limiting conditions that set constraints for some cells. For example, you can set the constraint that one of the variables or cells must not be bigger than another variable, or not bigger than a given value. You can also define the constraint that one or more variables must be integers (values without decimals), or binary values (where only 0 and 1 are allowed).</paragraph> +<paragraph id="par_id2216559" role="paragraph">The goal of the solver process is to find those variable values of an equation that result in an optimized value in the <emph>target cell</emph>, also named the "objective". You can choose whether the value in the target cell should be a maximum, a minimum, or approaching a given value.</paragraph> +<paragraph id="par_id7869502" role="paragraph">The initial variable values are inserted in a rectangular cell range that you enter in the <emph>By changing cells</emph> box.</paragraph> +<paragraph id="par_id9852900" role="paragraph">You can define a series of limiting conditions that set constraints for some cells. For example, you can set the constraint that one of the variables or cells must not be bigger than another variable, or not bigger than a given value. You can also define the constraint that one or more variables must be integers (values without decimals), or binary values (where only 0 and 1 are allowed).</paragraph> <h2 id="hd_id0603200910430882">Using Non-Linear solvers</h2> -<paragraph xml-lang="en-US" id="par_id0603200910430845" role="paragraph">Regardless whether you use DEPS or SCO, you start by going to <menuitem>Tools - Solver</menuitem> and set the Cell to be optimized, the direction to go (minimization, maximization) and the cells to be modified to reach the goal. Then you go to the Options and specify the solver to be used and if necessary adjust the according <link href="text/scalc/01/solver_options.xhp">parameters</link>.</paragraph> -<paragraph xml-lang="en-US" id="par_id0603200910430821" role="paragraph">There is also a list of constraints you can use to restrict the possible range of solutions or to penalize certain conditions. However, in case of the evolutionary solvers DEPS and SCO, these constraints are also used to specify bounds on the variables of the problem. Due to the random nature of the algorithms, it is <emph>highly recommended</emph> to do so and give upper (and in case "Assume Non-Negative Variables" is turned off also lower) bounds for all variables. They don't have to be near the actual solution (which is probably unknown) but should give a rough indication of the expected size (0 ≤ var ≤ 1 or maybe -1000000 ≤ var ≤ 1000000).</paragraph> -<paragraph xml-lang="en-US" id="par_id0603200910430873" role="paragraph">Bounds are specified by selecting one or more variables (as range) on the left side and entering a numerical value (not a cell or a formula) on the right side. That way you can also choose one or more variables to be <emph>Integer</emph> or <emph>Binary</emph> only.</paragraph> +<paragraph id="par_id0603200910430845" role="paragraph">Regardless whether you use DEPS or SCO, you start by going to <menuitem>Tools - Solver</menuitem> and set the Cell to be optimized, the direction to go (minimization, maximization) and the cells to be modified to reach the goal. Then you go to the Options and specify the solver to be used and if necessary adjust the according <link href="text/scalc/01/solver_options.xhp">parameters</link>.</paragraph> +<paragraph id="par_id0603200910430821" role="paragraph">There is also a list of constraints you can use to restrict the possible range of solutions or to penalize certain conditions. However, in case of the evolutionary solvers DEPS and SCO, these constraints are also used to specify bounds on the variables of the problem. Due to the random nature of the algorithms, it is <emph>highly recommended</emph> to do so and give upper (and in case "Assume Non-Negative Variables" is turned off also lower) bounds for all variables. They don't have to be near the actual solution (which is probably unknown) but should give a rough indication of the expected size (0 ≤ var ≤ 1 or maybe -1000000 ≤ var ≤ 1000000).</paragraph> +<paragraph id="par_id0603200910430873" role="paragraph">Bounds are specified by selecting one or more variables (as range) on the left side and entering a numerical value (not a cell or a formula) on the right side. That way you can also choose one or more variables to be <emph>Integer</emph> or <emph>Binary</emph> only.</paragraph> <section id="relatedtopics"> <embed href="text/scalc/01/solver_options.xhp#solveroptionsh1"/> <embed href="text/scalc/01/solver_options_algo.xhp#SolverAlgorithmsOptionsh1"/>
