Hi,
I'm trying to solve system of linear and nonlinear equations with inequalities and it looks like this:
SX := solve(
[
seq(diff(EX,WX[k+1])=0, k = 0..m), # these are linear
seq(AX[k+1]*(WX[k+1]-rightX)=0, k = 0..m), # these are nonlinear, but very simple
seq(BX[k+1]*(leftX-WX[k+1])=0, k = 0..m), # these are nonlinear, but very simple
seq(WX[k+1] seq(WX[k+1] >= leftX, k = 0..m),
seq(AX[k+1] >= 0, k = 0..m),
seq(BX[k+1] >= 0, k = 0..m)
],
[
seq(WX[k+1], k = 0..m),
seq(AX[k+1], k = 0..m),
seq(BX[k+1], k = 0..m)
]
):
Variables are WX, AX, BX, the rest is constant.
The problem is that I have to wait for the solution much too long, for instance: if m = 7 then I have to wait like 15 minutes, and for m > 8 I don't get any results at all. How can I make it run faster ? I tried to use fsolve (and got only trivial =0 solutions), Groebner[Basis] and then solve, but I didn't get any result in 50 minutes. Tried to get rid of inequalities but it didn't make any difference.
EX isn't very complicated, I tried to solve linear system:
SX := solve(
[
seq(diff(EX,WX[k+1])=0, k = 0..m), # these are linear
],
[
seq(WX[k+1], k = 0..m)
]
):
and I got the results immediately.