Skip to content

Commit

Permalink
chore: fix math folrmula.
Browse files Browse the repository at this point in the history
  • Loading branch information
fuookami committed Mar 31, 2024
1 parent a0c1d40 commit 2b893ca
Showing 1 changed file with 7 additions and 7 deletions.
14 changes: 7 additions & 7 deletions README_ch.md
Original file line number Diff line number Diff line change
Expand Up @@ -25,8 +25,8 @@ ospf 提供了一种命名为“中间值”的概念,以实现基于 DDD 的
中间值最开始的设计目的是为了减少数学模型中的重复,所以最基本的算术中间值就是通过一个多项式来构建,然后使用者就可以在模型的任何地方使用该中间值替代所有同样的多项式。

$$
ExprSymbol = \sum_{i} x_{i} \\ \; \\
min \quad ExprSymbol \\ \; \\
ExprSymbol = \sum_{i} x_{i} \\\\ \\; \\\\
min \quad ExprSymbol \\\\ \\; \\\\
s.t. \quad ExprSymbol \leq 1
$$

Expand All @@ -41,19 +41,19 @@ ospf 会在将模型翻译到具体求解器的接口时,自动将把每个算
基于算术中间值的思想,ospf 同样可以把类似逻辑运算表达式等非算术表达式封装到中间值中。

$$
FuncSymbol = \bigvee_{i} x_{i} = Or(x_{1}, \, x_{2}, \, .. \, , \, x_{i}) \\ \; \\
FuncSymbol = \bigvee_{i} x_{i} = Or(x_{1}, \, x_{2}, \, .. \, , \, x_{i}) \\\\ \\; \\\\
s.t. \quad FuncSymbol = 1
$$

ospf 会在将模型翻译到具体求解器的接口时,自动添加每个函数中间值所需的中间变量以及约束。这个翻译过程对于使用者而言是无感知的,因此使用者并不需要知道这个函数中间值是通过什么中间变量以及约束实现的。比如上面的这个 $FuncSymbol = \bigvee_{i} x_{i}$ 就会被翻译成:

$$
s.t. \quad y = 1, \; \\ \; \\
s.t. \quad y = 1 \\\\ \\; \\\\
\begin{cases}
y \geq \frac{x_{i}}{\sup_{\leq}(x_{i})}, & \sup_{\leq}(x_{i}) > 1 \\ \;
y \geq \frac{x_{i}}{\sup_{\leq}(x_{i})}, & \sup_{\leq}(x_{i}) > 1 \\\\
y \geq x_{i}, & else
\end{cases} \\ \; \\
y \leq \sum_{i} x_{i}, \; \forall i \\ \; \\
\end{cases} \\\\ \\; \\\\
y \leq \sum_{i} x_{i}, \; \forall i \\\\ \\; \\\\
y \in \{ 0, 1 \}
$$

Expand Down

0 comments on commit 2b893ca

Please sign in to comment.