Dismiss Notice
Join Physics Forums Today!
The friendliest, high quality science and math community on the planet! Everyone who loves science is here!

Minimising a vector over a restricted range

  1. Aug 20, 2009 #1
    My problem is this.

    I work on a mine, trucks have a average weight that they can carry (should be approx 180 tonnes)

    Every end of shift, the weightometer reading at the crusher is taken and the number of loads for each truck is stored in a database.

    Trucks have weightometers but I dont trust them and I would like to calculate what the individual truck factors should be by using linear algebra or a similar method.

    A truck factor is important because the loaders load using truck weightometer readings and a faulty weightometer means that the right truck factor is not applied.

    The matrix equation is [a]*[tr] = [cr]

    a can be a square matrix with as many days as there are trucks.
    tr is the unknown to be solved which represents the weight (truck factor) for each specific truck.
    cr is the row vector of the daily crusher readings taken.

    This can be solved by taking the inverse of matrix [a] and multiplying with [cr]

    [tr] which I calculated proved to be useless as it contains negative values and values of up to 300 tonnes. I assume it has something to do with the sensitivity of the problem.

    This got me to thinking, the inverse is simply the minimum of the vectors in an unrestricted domain minimising abs([a]*[tr] - [cr]) and I know that a truck cannot conceivably weigh more than say 220 tonne and less than 120 tonne.

    Are there any mathematical methods out there that can minimise abs([a]*[tr] - [cr]) where each individual value of [tr] must fall within the range specified (120-220)?

    My mathematical ability and background is about 3rd year Engineering Maths.
  2. jcsd
  3. Aug 20, 2009 #2
    First, to understand things better, what, more concretely, is the contents of [a]?

    Second, don't you still have to worry about what the weightometer reading gives you?
    In other words, shouldn't the equation be [a]*[tr]+=[cr]. After which you solve for tr with [tr]=[a]^-1([cr]-). Or does your [cr] already take into account the weight of the rocks?

    As far as your problem is concerned, perhaps you can calculate a maximum likelihood solution of tr_i, where you try to maximize the product of terms p(cr_i,a_i,tr_i), or whatever the appropriate expression is, where p is an appropriate Gaussian cut off at your limits...not an easy problem at all.

    Hopefully, someone else will shed light on your problem.
  4. Aug 21, 2009 #3

    More information about the problem

    Matrix equation is [a] [t] = [c] where

    The matrix [a] is

    a11 a12 ............a1n a1n is the daily number of loads for truck 1 on day n
    . .
    . .
    an1 an2 ..............ann ann is the daily number of loads for truck n on day n

    [c] is

    c11 Crusher Weigtomter Reading on day 1
    c1n Crusher Weightometer Reading on Day n

    [t] (to solve is)

    t11 Average load carried by truck 1
    t1n Average load carried by truck n

    n is about 12

    More readings are available. But to keep a square matrix, I limited it to 12 however as explained before the deterministic method does not work. I could include the other readings depending on the method I use to solve the problem
  5. Sep 12, 2009 #4
    Alright, I did come up with a scheme to arrive at an answer but I am not sure how much to read into it.

    I used the least squares theorem for a number of equations to arrive at an answer.
    i.e. X(LS) = (A(t)A)^-1A(t)B
    where B is the crusher weightometer readings per shift and A is the matrix of each number of truck loads for the corresponding shift. However X(LS) was still not believable in practical terms.

    It struck me that another answer for X which might be reasonable to assume as use the average truck factor (Sum Crusher Readings / Sum total of all truck loads) for the solution matrix X. However the least squares theorem gaurentees that the RMS (Root mean square) error will be greater than using X(LS). But this is far more realistic. So I have a realistic answer that gives me no better information than an average and an unrealistic answer that supposedly does. It occured to me that I could add n (one for each truck) rows to Matrix A which are artificial and can be used to force either extreme depending on the weighting used. A very heavy weighting on the artificial variables gives me a LS solution where X is uniformly the average truck factor. Zero weighting of the artificial variables gives me the unrealistic LS solution. It turned out that quite a low weighting actually produced some believable results. My problem now is that I am tampering with the data (albeit that I am adding realistic data to the which confines the solution to more realistic realms) I include the solution and would appreciate any comments.

    Attached Files:

Share this great discussion with others via Reddit, Google+, Twitter, or Facebook