Multi Variable Optimization Problem

  • Context: Graduate 
  • Thread starter Thread starter geetar_king
  • Start date Start date
  • Tags Tags
    Optimization Variable
Join the discussion
Ask a follow-up here, or get your own question answered by working scientists, mathematicians and engineers — people, not an autocomplete.
Real named experts · corrections over time · the nuance an AI answer skips
2 replies · 2K views
geetar_king
Messages
26
Reaction score
0
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 doesn't make sense!
---

There is a set of 20 balloons laid out in a line. Each balloon 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 doesn't make sense.

Thanks
 
on Phys.org
typo fixed

geetar_king said:
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 doesn't make sense!
---

There is a set of 20 balloons laid out in a line. Each balloon 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 Qmax.
  • Minimum injection rate into any balloon is Qmin, otherwise zero injection rate.
  • There is a total air supply capacity, C, so that all injection rates 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 doesn't make sense.

Thanks
 
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.