# Multi Variable Optimization Problem

1. Mar 7, 2013

### geetar_king

I have a problem that I normally find solutions to via trial and error, and they usually aren't optimized, but was wondering if there is a better way to solve this and optimize.

My application is specific but this is the best way I can describe the problem. Forgive me if it doesnt make sense!
---

There is a set of 20 balloons laid out in a line. Each ballon initially begins with the same pressure and each has the same volume. All balloons are materially the same.

Now imagine there is a restrictive port connecting Balloon #1 to Balloon #2, Balloon #2 to #3, #3 to #4..... ...#18 to #19, and #19 to #20.

This port allows air to pass between the balloons, where the leakage rate from balloon i to j is Lij and is a rate that is a known function of to the pressure differential between balloons.

There is also another port on each balloon, an 'injection port', which connects to the air supply manifold.

Objective/Problem:
The goal is to pressurize all balloons up to Pmax in the quickest amount of time subject to the folllowing constraints. ​

Constraints:
• The Pressure in balloon #i is a known function of volume in the balloon: Pi = f(Vi)
• Maximum injection rate into any balloon is Pmax.
• Minimum injection rate into any balloon is Pmin, otherwise zero injection rate.
• There is a total air supply capacity, C, so that all injection rate must sum to C (maximize capacity usage)
• A number, N, balloons must be on injection simultaneously at all times in a block formation (ie group of N balloons side by side).
• The maximum pressure differential between any balloons is D.
• Leakage, Lij, as described above is small compared to injection rate. (could consider zero to start with if this complicates things.)

Optimization:
Minimize the amount of 'fillup volume' on each balloon before the balloon reaches Pmax.​

....

So normally I start with a 20 column 2D grid with injection rates in each row at each time for each balloon, and shift rates around and then see what pressure is and try to work with the constraints.

I'm not sure if there is a way to do this mathematically or with matrix operations or something...

Let me know if there are too many unknowns or if something doesnt make sense.

Thanks

2. Mar 8, 2013

typo fixed

3. Mar 8, 2013

### MrAnchovy

There is presumably also a constraint on the number of times the "blocks" of balloons are exchanged (e.g. a amount of time to perform the exchange)? And on the frequency of change of Qi? Otherwise a arbitrarily large number of changes can be performed to trivially achieve an optimal solution.

Your optimization function "Minimize the amount of 'fillup volume' on each balloon before the balloon reaches Pmax." does not make sense as the "fillup volume" for each balloon is presumably given by the inverse of the function P = f(V) where P = Pmax. Presumably, in line with the statement of the "Objective/Problem" the optimisation function is simply to minimise the total amount of time?

There are a number of subclasses of this problem which defy a single analytical solution:
• N = 1, 2, 4, 5, 10 - the balloons can be charged in blocks until the pressure differential between blocks reaches D
• D > Pmax / N (ignoring Lij) in which case an optimal solution is trivial by filling B1 to Pmax, B2 to Pmax x (N-1)/N etc.
• Where Qmax < C / N and Qmin > C / N things get harder.

I think you need to narrow down the scope of the problem a little.

Know someone interested in this topic? Share this thread via Reddit, Google+, Twitter, or Facebook