目录
索引 🔎︎

# 求解器

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.

要访问此命令...

选择「工具 - 求解器」。

## Solver settings

Solver settings are not saved to the file by LibreOffice Calc. Closing and reopening the file will reset the solver dialog to default settings.

### Target Cell

Enter or click the cell reference of the target cell. This field takes the address of the cell whose value is to be optimized.

### Optimize results to

- Maximum: Try to solve the equation for a maximum value of the target cell.

- Minimum: Try to solve the equation for a minimum value of the target cell.

- Value of: Try to solve the equation to approach a given value of the target cell.

  Enter the value or a cell reference in the text field.

### By Changing Cells

Enter the cell range that can be changed. These are the variables of the equations.

### Limiting Conditions

Add the set of constraints for the mathematical problem. Each constraint is represented by a cell reference (a variable), an operator, and a value.

- Cell reference: Enter a cell reference of the variable.

  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.

- Operator: Select an operator from the list. 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).

- Value: Enter a value or a cell reference. This field is ignored when the operator is Binary or Integer.

- Remove button: Click to remove the row from the list. Any rows from below this row move up.

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.

### Options

Opens the Solver Options dialog.

The Solver Options dialog let you select the different solver algorithms for either linear and non-linear problems and set their solving parameters.

### Solve

Click to solve the problem with the current settings. The dialog settings are retained until you close the current document.

## 使用求解器求解方程式

求解过程的目的是找到那些方程式中的变量值，它们在「目标单元格」 (也称为「目标」) 中产生最佳值。您可以选择目标单元格中的值为最大值、最小值、或接近一个给定的值。

初始变量值被插入您在「通过更改单元格」框输入的矩形单元格区域中。

您可以定义一系列限制条件来设置某些单元格的约束。例如，您可以设置约束为某个变量或单元格不能比另外某个变量、或某个给定值大。您也可以定义约束为必须有一个或多个变量为整数 (不含小数的值)，或二进制数值 (仅为 0 和 1)。

## Using Non-Linear solvers

Regardless whether you use DEPS or SCO, you start by going to Tools - Solver 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 parameters.

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 highly recommended 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).

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 Integer or Binary only.

相关主题

Solver Options

Solver Algorithms Options

Wiki page on solvers and their algorithms