Notices
Results 1 to 3 of 3

Thread: Simultaneous equations with bounds on the answer

  1. #1 Simultaneous equations with bounds on the answer 
    Forum Masters Degree Numsgil's Avatar
    Join Date
    Jan 2009
    Posts
    708
    I have a system of linear equations representing a simple statics example (like the struts on a bridge or a stack of blocks or something along those lines). I can form the equation: Aj = b, where A is an nxn matrix of coefficients, and j and b are n-vectors. I want to find j given b. And I have a book (Numerical Recipes 3rd edition) to help me do that. So far so good.

    But now there's an interesting twist, and I don't know how to handle it. Suppose that each element in j has a bounds on it. Something like 0 <= j<sub>2</sub> <= 80 or something along those lines. This would represent something like a stack of blocks (each block can only push on other blocks, they can't pull on each other), or a bridge giving way (some strut can only handle 8000 Newtons of force (is force the right label here?) before it gives way).

    So how do I address this case? The brute force solution I had was to invert the matrix and find j, then find the first element out of its bounds in j and clamping it to the bounds. Then rebuild a new matrix and solve again, etc. But this would have an absolutely terrible run time performance of O(n^4), and I'm not even sure it would give the right answer in the end.


    Reply With Quote  
     

  2.  
     

  3. #2  
    Forum Masters Degree Numsgil's Avatar
    Join Date
    Jan 2009
    Posts
    708
    Okay, let me try to present the problem in a nicer format:

    Let's say I have a system of equations: (where A is a matrix and x and b are vectors).

    Let's also define a "window" (I'm sure there's a better math term for this, but I don't know it). A window is the n-dimensional box where a valid solution must live.



    ...

    For some .

    Suppose I define . And suppose that satisfies the window inequality, satisfies the system of equations, and is "minimized", in the sense that it's L2 norm is minimized.

    I want to find . How do I go about doing that?

    I think it's somewhat similar to iterative improvement used in numerical analysis. Something like first I solve for using standard methods. And then I define such that (that is, is the vector I had to add to to "push" the solution back into the window of valid solutions). And then some sort of math magic happens where I iteratively improve the solution somehow until is within some range, or until some maximum number of steps has been taken.


    Reply With Quote  
     

  4. #3  
    Forum Masters Degree Numsgil's Avatar
    Join Date
    Jan 2009
    Posts
    708
    Actually, thinking about it some more, I'm trying to minimize that comes from computing .
    Reply With Quote  
     

Bookmarks
Bookmarks
Posting Permissions
  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •