1 说明
MathSword提供一些特定函数或者窗口来求解线性、非线性方程组,或者线性、非线性规划问题。对于自由度比较高的非线性问题求解,会涉及到程序语言编写问题。为了使得求解的问题,在软件输入上更加接近数学语言,因此MathSword专门提供一个规划求解窗口来按指定规则书写对应问题,即可以求解。对于旅行商问题、指派问题、背包问题、最短路径问题,由于不方便写成对应表达式,建议使用专门的求解函数进行求解。
2 教程
2.1 求解线性方程
求解如下线性方程组,其中\(x_1,x_2,x_3\)为浮点变量
$$\begin{cases}
-49x_1+82x_2+36x_3&=14.67
\\
92x_1+6x_2+x_3&=3.8
\\
39x_1+74.5x_2+24x_3&=-2.4
\\
58x_1+75.2x_2-51x_3&=12.9
\end{cases}$$
在规划求解窗口编写如下代码
[Constraint]:
-49*x1+82*x2+36*x3=14.67
92*x1+6*x2+x3=3.8
39*x1+74.5*x2+24*x3=-2.4
58*x1+75.2*x2-51*x3=12.9
如下图,点击求解可以得到最终结果
2.2 非线性方程组求解
求解如下非线性方程组,其中\(x,y,z\)为浮点变量
$$\begin{cases}
2x^2 +3.6\sin(x)\cos(y-z)=5.8
\\
x + y^2 + 3z^2=83.58
\\
(y-x)(z-x) + x^3=10.305
\\
3xy=z+11.4
\\
x<y<z
\end{cases}$$
在规划求解窗口编写如下代码
[Constraint]:
2*x^2 + 3.6*sin(x)*cos(y-z) = 5.8
x + y^2 + 3*z^2 = 83.58
(y-x) * (z-x) + x^3 = 10.305
3*x*y = z+11.4
x<y<z
如下图,点击求解可以得到最终结果\(x=1.50005453896144,y=3.59980165806281,z=4.80005135194315\)
2.3 线性规划求解
最大化如下目标函数,其中\(x_1,x_2,x_3,x_4\)为浮点变量
$$\begin{aligned}
最大化目标:& 0.75x_1-20x_2+0.5x_3-6x_4
\\
约束:&\begin{cases}
0.25x_1-8x_2-x_3+9x_4\leq0
\\
0.5x_1-12x_2-0.5x_3+3x_4\leq0
\\
x_3\leq1
\\
x_1\geq0,x_2\geq0,x_3\geq0,x_4\geq0
\end{cases}
\end{aligned}$$
在规划求解窗口编写如下代码
[MaxExpress]:
0.75*x1-20*x2+0.5*x3-6*x4
[Constraint]:
0.25*x1-8*x2-x3+9*x4≤0
0.5*x1-12*x2-0.5*x3+3*x4≤0
x3≤1
x1>=0,x2>=0,x3>=0,x4>=0
如下图,点击求解可以得到最终结果
2.4 非线性整数规划
最大化如下目标函数,其中\(x_1,x_2,x_3,x_4,x_5\)为整数变量
$$\begin{aligned}
最大化目标:&x_1^2+x_2^2+3x_3^2+4x_4^2+2x_5^2-8x_1-2x_2-3x_3-x_4-2x_5
\\
约束:&\begin{cases}
x_1+x_2+x_3+x_4+x_5\leq 400
\\
x_1+2x_2+2x_3+x_4+6x_5\leq 800
\\
2x_1+x_2+6x_3\leq 200
\\
x_3+x_4+5x_5\leq 200
\\
0\leq x_1\leq 99
\\
0\leq x_2\leq 99
\\
0\leq x_3\leq 99
\\
0\leq x_4\leq 99
\\
0\leq x_5\leq 99
\end{cases}
\end{aligned}$$
在规划求解窗口编写如下代码
[MaxExpress]:
x1^2+x2^2+3*x3^2+4*x4^2+2*x5^2-8*x1-2*x2-3*x3-x4-2*x5
[IntegerVariable]:
x1,x2,x3,x4,x5
[Constraint]:
x1+x2+x3+x4+x5<=400
x1+2*x2+2*x3+x4+6*x5<=800
2*x1+x2+6*x3<=200
x3+x4+5*x5<=200
0<=x1<=99
0<=x2<=99
0<=x3<=99
0<=x4<=99
0<=x5<=99
如下图,点击求解可以得到最终结果\(x_1=50,x_2=99,x_3=0,x_4=99,x_5=20\)
3 视频