rmi workshop - october 7, 1999 rmi workshop - genetic algorithms kelly d. crawford arco crawford...
TRANSCRIPT
![Page 1: RMI Workshop - October 7, 1999 RMI Workshop - Genetic Algorithms Kelly D. Crawford ARCO Crawford Software, Inc. Genetic Algorithms and Related Optimization](https://reader036.vdocument.in/reader036/viewer/2022062719/56649ef05503460f94c004a5/html5/thumbnails/1.jpg)
RMI Workshop - October 7, 1999
RMI Workshop - Genetic AlgorithmsRMI Workshop - Genetic AlgorithmsRMI Workshop - Genetic AlgorithmsRMI Workshop - Genetic Algorithms
Kelly D. CrawfordARCO
Crawford Software, Inc.
Genetic Algorithms and Related Genetic Algorithms and Related Optimization Techniques: Optimization Techniques:
Introduction and ApplicationsIntroduction and Applications
![Page 2: RMI Workshop - October 7, 1999 RMI Workshop - Genetic Algorithms Kelly D. Crawford ARCO Crawford Software, Inc. Genetic Algorithms and Related Optimization](https://reader036.vdocument.in/reader036/viewer/2022062719/56649ef05503460f94c004a5/html5/thumbnails/2.jpg)
RMI Workshop - October 7, 1999
Other Optimization ColleaguesOther Optimization ColleaguesOther Optimization ColleaguesOther Optimization Colleagues
Donald J. MacAllisterARCO
Michael D. McCormackRichard F. Stoisits
Optimization Associates, Inc.
![Page 3: RMI Workshop - October 7, 1999 RMI Workshop - Genetic Algorithms Kelly D. Crawford ARCO Crawford Software, Inc. Genetic Algorithms and Related Optimization](https://reader036.vdocument.in/reader036/viewer/2022062719/56649ef05503460f94c004a5/html5/thumbnails/3.jpg)
RMI Workshop - October 7, 1999
A “no hype” introduction to genetic algorithms (GA)A “no hype” introduction to genetic algorithms (GA)A “no hype” introduction to genetic algorithms (GA)A “no hype” introduction to genetic algorithms (GA)
What every “intro to GAs” talk begins with:- Biology- Evolution- Survival of the fittest
What I am not going to talk about:- Biology- Evolution- Survival of the fittest- Exception: nomenclature/jargon
It’s not about biology - it’s about search!
![Page 4: RMI Workshop - October 7, 1999 RMI Workshop - Genetic Algorithms Kelly D. Crawford ARCO Crawford Software, Inc. Genetic Algorithms and Related Optimization](https://reader036.vdocument.in/reader036/viewer/2022062719/56649ef05503460f94c004a5/html5/thumbnails/4.jpg)
RMI Workshop - October 7, 1999
Optimization
Given a potential solution vector to some problem: xAny set of constraints on x: Ax bAnd a means to assess the relative worth of that solution: f(x) (which may be continuous or discrete)
Optimization describes the application of a set of proven techniques that can find the optimal or near optimal solution to the problem.
Examples of optimization techniques: Genetic algorithms, genetic programming, simulated annealing, evolutionary programming, evolution strategies, classifier systems, linear programming, nonlinear programming, integer programming, pareto methods, discrete hill climbers, gradient techniques, random search, brute force (exhaustive search), backtracking, branch and bound, greedy techniques, etc...
![Page 5: RMI Workshop - October 7, 1999 RMI Workshop - Genetic Algorithms Kelly D. Crawford ARCO Crawford Software, Inc. Genetic Algorithms and Related Optimization](https://reader036.vdocument.in/reader036/viewer/2022062719/56649ef05503460f94c004a5/html5/thumbnails/5.jpg)
RMI Workshop - October 7, 1999
Optimization Application Examples at ARCO
Gas lift optimization (Ashtart): x: Amount of gas injected into each well Ax b: Max total gas available, max water produced f(x): Total oil produced
Technique: Learning bit climber
Free Surface Multiple Suppression: x: Inverse source wavelet Ax b: Min/max wavelet amplitudes f(x): Total seismic energy after wavelet is applied
Technique: Genetic algorithm and learning bit climber
![Page 6: RMI Workshop - October 7, 1999 RMI Workshop - Genetic Algorithms Kelly D. Crawford ARCO Crawford Software, Inc. Genetic Algorithms and Related Optimization](https://reader036.vdocument.in/reader036/viewer/2022062719/56649ef05503460f94c004a5/html5/thumbnails/6.jpg)
RMI Workshop - October 7, 1999
What to look for in an Optimization Technique
Convergent techniques: continuous:Gradient search, linear programming discrete: Integer programming, gradient estimatorsOk for search spaces with a single peak/trough
Divergent techniques: Random search, brute force (exhaustive search)Ok for small search spaces
Hard problems (large search spaces, multiple peaks/troughs) need both convergent and divergent behaviorsGenetic algorithms, simulated annealing, learning hill climbers, etc.
These techniques can exploit the peaks/troughs, as well as intelligently explore the search space.
![Page 7: RMI Workshop - October 7, 1999 RMI Workshop - Genetic Algorithms Kelly D. Crawford ARCO Crawford Software, Inc. Genetic Algorithms and Related Optimization](https://reader036.vdocument.in/reader036/viewer/2022062719/56649ef05503460f94c004a5/html5/thumbnails/7.jpg)
RMI Workshop - October 7, 1999
Convergent and Divergent Behaviors
Need a balanced combination of bothconvergent ( ) and divergent ( )
behaviors to find solutions incomplicated search spaces.
![Page 8: RMI Workshop - October 7, 1999 RMI Workshop - Genetic Algorithms Kelly D. Crawford ARCO Crawford Software, Inc. Genetic Algorithms and Related Optimization](https://reader036.vdocument.in/reader036/viewer/2022062719/56649ef05503460f94c004a5/html5/thumbnails/8.jpg)
RMI Workshop - October 7, 1999
• Ashtart gaslift optimization• 24 wells - Offshore Tunisia
• Given: A fixed amount of gas for injection• Question: What is the right amount of gas to inject
into each well to maximize oil production?
Genetic Algorithms - A Sample ProblemGenetic Algorithms - A Sample Problem
![Page 9: RMI Workshop - October 7, 1999 RMI Workshop - Genetic Algorithms Kelly D. Crawford ARCO Crawford Software, Inc. Genetic Algorithms and Related Optimization](https://reader036.vdocument.in/reader036/viewer/2022062719/56649ef05503460f94c004a5/html5/thumbnails/9.jpg)
RMI Workshop - October 7, 1999
Lift Gas OptimizationLift Gas OptimizationLift Gas OptimizationLift Gas Optimization
Lift Gas
Gathering Lines
Facility
Production Well
Objective• Maximize oil production rate.
• No capital expenditures.
Total lift gas
Total OilProduced
Lift Gas Curve
![Page 10: RMI Workshop - October 7, 1999 RMI Workshop - Genetic Algorithms Kelly D. Crawford ARCO Crawford Software, Inc. Genetic Algorithms and Related Optimization](https://reader036.vdocument.in/reader036/viewer/2022062719/56649ef05503460f94c004a5/html5/thumbnails/10.jpg)
RMI Workshop - October 7, 1999
...
Genetic Algorithms - Representing a SolutionGenetic Algorithms - Representing a Solution
1001010011010……0000101001111010011110……10011100101100
Chromosome
11001011001001010011 0100111101
.587467362 .287328726 .882736363... ...
...
Well 1 Well 12 Well 24
Gen
esP
henotypeG
enotype
![Page 11: RMI Workshop - October 7, 1999 RMI Workshop - Genetic Algorithms Kelly D. Crawford ARCO Crawford Software, Inc. Genetic Algorithms and Related Optimization](https://reader036.vdocument.in/reader036/viewer/2022062719/56649ef05503460f94c004a5/html5/thumbnails/11.jpg)
RMI Workshop - October 7, 1999
Genetic Algorithms - Crossover and MutationGenetic Algorithms - Crossover and Mutation
• Genetic Operations on Chromosomes - Crossover
10 01010011
00 11011010
00 01010011
10 11011010
Parents Children
• Genetic Operations on Chromosomes - Mutation
0001010011 0001011011
![Page 12: RMI Workshop - October 7, 1999 RMI Workshop - Genetic Algorithms Kelly D. Crawford ARCO Crawford Software, Inc. Genetic Algorithms and Related Optimization](https://reader036.vdocument.in/reader036/viewer/2022062719/56649ef05503460f94c004a5/html5/thumbnails/12.jpg)
RMI Workshop - October 7, 1999
Genetic Algorithms - Evaluating a Solution’s FitnessGenetic Algorithms - Evaluating a Solution’s Fitness
x = 1001010011010……0000101001111010011110……10011100101100
So just how good are you, kid…?
f(x) ==> 19020.234789
Total Daily Oil Production for the Field
![Page 13: RMI Workshop - October 7, 1999 RMI Workshop - Genetic Algorithms Kelly D. Crawford ARCO Crawford Software, Inc. Genetic Algorithms and Related Optimization](https://reader036.vdocument.in/reader036/viewer/2022062719/56649ef05503460f94c004a5/html5/thumbnails/13.jpg)
RMI Workshop - October 7, 1999
1001010011
1000011101
0001110111
1111010000
0101100010
0001110001
1011011111
0000000101
0101010010
1101110010
A
B
X
Y
Z
Crossover and
Mutation
Parents Children
Done?No
Yes
Genetic Algorithms - The ProcessGenetic Algorithms - The Process
A
B
X
Y
Z
![Page 14: RMI Workshop - October 7, 1999 RMI Workshop - Genetic Algorithms Kelly D. Crawford ARCO Crawford Software, Inc. Genetic Algorithms and Related Optimization](https://reader036.vdocument.in/reader036/viewer/2022062719/56649ef05503460f94c004a5/html5/thumbnails/14.jpg)
RMI Workshop - October 7, 1999
What are the necessary requirements for using a GA?What are the necessary requirements for using a GA?What are the necessary requirements for using a GA?What are the necessary requirements for using a GA?
When you need…...some way to represent potential solutions to a problem (representation: bit string, list of integers or floats, permutation, combinations, etc).
...some way to evaluate a potential solution resulting in a scalar. This will be used by the GA to rank the worth of a solution. This fitness (or evaluation) function needs to be very efficient, as it may need to be called thousands - even millions - of times.
But you do not need... ...the final solution to be optimal....speed (this varies)
![Page 15: RMI Workshop - October 7, 1999 RMI Workshop - Genetic Algorithms Kelly D. Crawford ARCO Crawford Software, Inc. Genetic Algorithms and Related Optimization](https://reader036.vdocument.in/reader036/viewer/2022062719/56649ef05503460f94c004a5/html5/thumbnails/15.jpg)
RMI Workshop - October 7, 1999
When should you When should you notnot use a GA? use a GA?When should you When should you notnot use a GA? use a GA?
When…...you absolutely must have the optimal solution to a problem.
...an analytical or empirical method already exists and works adequately (typically means the problem is unimodal, having only a single “peak”).
...evaluating a potential solution to your problem takes a long time to compute.
...there are so few potential solutions that you can easily check all of them to find the optimum (small search spaces).
![Page 16: RMI Workshop - October 7, 1999 RMI Workshop - Genetic Algorithms Kelly D. Crawford ARCO Crawford Software, Inc. Genetic Algorithms and Related Optimization](https://reader036.vdocument.in/reader036/viewer/2022062719/56649ef05503460f94c004a5/html5/thumbnails/16.jpg)
RMI Workshop - October 7, 1999
Earth Model Showing Primary ReflectionsEarth Model Showing Primary Reflections
Source Receiver Seismic Trace
![Page 17: RMI Workshop - October 7, 1999 RMI Workshop - Genetic Algorithms Kelly D. Crawford ARCO Crawford Software, Inc. Genetic Algorithms and Related Optimization](https://reader036.vdocument.in/reader036/viewer/2022062719/56649ef05503460f94c004a5/html5/thumbnails/17.jpg)
RMI Workshop - October 7, 1999
Earth Model with Surface Multiple ReflectionsEarth Model with Surface Multiple Reflections
Source Receiver Seismic Trace
Multiples
What appears as reality, but isn’t!
![Page 18: RMI Workshop - October 7, 1999 RMI Workshop - Genetic Algorithms Kelly D. Crawford ARCO Crawford Software, Inc. Genetic Algorithms and Related Optimization](https://reader036.vdocument.in/reader036/viewer/2022062719/56649ef05503460f94c004a5/html5/thumbnails/18.jpg)
RMI Workshop - October 7, 1999
Estimating the Inverse Source WaveletEstimating the Inverse Source Wavelet
-0.0176-0.00978 0.087976 0.213099-0.57283 0.909091-0.6393 0.885631-0.88172 1.151515 1.784946 1.249267-0.44379-0.73705 1.644184-1.12806 0.209189 0.26784-0.04106-0.11926 0.076246
011011001010110010101010010010101010101010010101010101010101010101010000101100011010110100101000110010101001010010010101001010101101001101010101010101010101001101011010101101010100101010101001010101010101001010
![Page 19: RMI Workshop - October 7, 1999 RMI Workshop - Genetic Algorithms Kelly D. Crawford ARCO Crawford Software, Inc. Genetic Algorithms and Related Optimization](https://reader036.vdocument.in/reader036/viewer/2022062719/56649ef05503460f94c004a5/html5/thumbnails/19.jpg)
RMI Workshop - October 7, 1999
Seismic Surface Multiple Attenuation Using a GASeismic Surface Multiple Attenuation Using a GA
Input Data After Multiple Removal
![Page 20: RMI Workshop - October 7, 1999 RMI Workshop - Genetic Algorithms Kelly D. Crawford ARCO Crawford Software, Inc. Genetic Algorithms and Related Optimization](https://reader036.vdocument.in/reader036/viewer/2022062719/56649ef05503460f94c004a5/html5/thumbnails/20.jpg)
RMI Workshop - October 7, 1999
Another Example - Kuparuk Material BalanceAnother Example - Kuparuk Material BalanceAnother Example - Kuparuk Material BalanceAnother Example - Kuparuk Material Balance
Injection Well Production Well Injection Well
![Page 21: RMI Workshop - October 7, 1999 RMI Workshop - Genetic Algorithms Kelly D. Crawford ARCO Crawford Software, Inc. Genetic Algorithms and Related Optimization](https://reader036.vdocument.in/reader036/viewer/2022062719/56649ef05503460f94c004a5/html5/thumbnails/21.jpg)
RMI Workshop - October 7, 1999
The Material Balance ProblemThe Material Balance ProblemThe Material Balance ProblemThe Material Balance Problem
Production Well
Injection Well
Each producer may get fluids from multiple patterns.Each injector may put fluids into multiple patterns.
This is a diagram of a single pattern showing 16 allocation factors.The entire field has between 3000 to 7000 allocation factors,
represented using 10 bits each.
![Page 22: RMI Workshop - October 7, 1999 RMI Workshop - Genetic Algorithms Kelly D. Crawford ARCO Crawford Software, Inc. Genetic Algorithms and Related Optimization](https://reader036.vdocument.in/reader036/viewer/2022062719/56649ef05503460f94c004a5/html5/thumbnails/22.jpg)
RMI Workshop - October 7, 1999
Normalized Solution VectorsNormalized Solution VectorsNormalized Solution VectorsNormalized Solution Vectors
.01 .56 .22 .21
= 1
= 1= 1
.33 .41 .26
.16.18 .32 .25 .09
.01 .56 .22 .21 .33 .41 .26 .16.18 .32 .25 .09
…combined into one chromosome
Several normalizedgroups...
![Page 23: RMI Workshop - October 7, 1999 RMI Workshop - Genetic Algorithms Kelly D. Crawford ARCO Crawford Software, Inc. Genetic Algorithms and Related Optimization](https://reader036.vdocument.in/reader036/viewer/2022062719/56649ef05503460f94c004a5/html5/thumbnails/23.jpg)
RMI Workshop - October 7, 1999
Normalization ExampleNormalization ExampleNormalization ExampleNormalization Example
.5 .8 .2 .3 .4 .3 .9
.33 .53 .14 .16 .21 .16 .47
Group 1 Group 2
Actual Chromosome Before Normalization
Translated Chromosome After Normalization
![Page 24: RMI Workshop - October 7, 1999 RMI Workshop - Genetic Algorithms Kelly D. Crawford ARCO Crawford Software, Inc. Genetic Algorithms and Related Optimization](https://reader036.vdocument.in/reader036/viewer/2022062719/56649ef05503460f94c004a5/html5/thumbnails/24.jpg)
RMI Workshop - October 7, 1999
Initial Solution AttemptInitial Solution AttemptInitial Solution AttemptInitial Solution Attempt
• Simple floating-point genetic algorithm:– generational model
– 1-point crossover
• Worked ok for a 9 pattern simulated field (small)• Estimated time required for full field: 1 month on an
SGI workstation; 10 months on 167 MHz PC.• Back to the drawing board...
• When done the traditional way (by hand), this problem was already taking 10 man-months (spread out across a number of drill-site engineers)
![Page 25: RMI Workshop - October 7, 1999 RMI Workshop - Genetic Algorithms Kelly D. Crawford ARCO Crawford Software, Inc. Genetic Algorithms and Related Optimization](https://reader036.vdocument.in/reader036/viewer/2022062719/56649ef05503460f94c004a5/html5/thumbnails/25.jpg)
RMI Workshop - October 7, 1999
Formulating the problem as a string of bitsFormulating the problem as a string of bitsFormulating the problem as a string of bitsFormulating the problem as a string of bits
A potential solution to this problem consists of a listcontaining both allocation factors and pressures, eachof which are floating point values
Any single allocation factor or pressure, x, has a rangeof [0..1]. Assuming we need a resolution of ~ 0.01, wecan represent each x using 10 bits.
0.01 0.23 0.82 0.53 ...
0011011010 1010011011 1001101010 1010011010 ...
![Page 26: RMI Workshop - October 7, 1999 RMI Workshop - Genetic Algorithms Kelly D. Crawford ARCO Crawford Software, Inc. Genetic Algorithms and Related Optimization](https://reader036.vdocument.in/reader036/viewer/2022062719/56649ef05503460f94c004a5/html5/thumbnails/26.jpg)
RMI Workshop - October 7, 1999
Material Balance - Second TryMaterial Balance - Second TryMaterial Balance - Second TryMaterial Balance - Second Try
• Bit encoded genetic algorithm– Steady-state model
– Uniform crossover
• Much faster on this particular problem (10x)
• Added gray coding• Gained additional performance (20x)
• Everything we tried from this point on worked with varying degrees of performance.
![Page 27: RMI Workshop - October 7, 1999 RMI Workshop - Genetic Algorithms Kelly D. Crawford ARCO Crawford Software, Inc. Genetic Algorithms and Related Optimization](https://reader036.vdocument.in/reader036/viewer/2022062719/56649ef05503460f94c004a5/html5/thumbnails/27.jpg)
RMI Workshop - October 7, 1999
Some InsightsSome InsightsSome InsightsSome Insights
• Since we are normalizing subsets within the chromosome, crossover is a potentially destructive operation. What if we just used mutation instead.
• In fact, what if we only used mutations that probabilistically tended to result in smaller changes to the chromosome, resulting in less disruption, and perhaps better convergence?
![Page 28: RMI Workshop - October 7, 1999 RMI Workshop - Genetic Algorithms Kelly D. Crawford ARCO Crawford Software, Inc. Genetic Algorithms and Related Optimization](https://reader036.vdocument.in/reader036/viewer/2022062719/56649ef05503460f94c004a5/html5/thumbnails/28.jpg)
RMI Workshop - October 7, 1999
An ExampleAn ExampleAn ExampleAn Example
Current state
Before normalization After normalization
Small change
Large change
.4 .3 .9 .21 .16 .47.3 .16
.4 .2 .9 .22 .11 .5.3 .17
.4 .9 .9 .16 .36 .36.3 .12
Difference .0 +.7 0 -.06 +.25 -.080 -.05
Difference 0 -.1 0 +.01 -.05 +.030 +.01
![Page 29: RMI Workshop - October 7, 1999 RMI Workshop - Genetic Algorithms Kelly D. Crawford ARCO Crawford Software, Inc. Genetic Algorithms and Related Optimization](https://reader036.vdocument.in/reader036/viewer/2022062719/56649ef05503460f94c004a5/html5/thumbnails/29.jpg)
RMI Workshop - October 7, 1999
Easier to see the impact graphically...Easier to see the impact graphically...Easier to see the impact graphically...Easier to see the impact graphically...
0
0.1
0.2
0.3
0.4
0.5
0.6
1 2 3 4
Original
Small
Large
![Page 30: RMI Workshop - October 7, 1999 RMI Workshop - Genetic Algorithms Kelly D. Crawford ARCO Crawford Software, Inc. Genetic Algorithms and Related Optimization](https://reader036.vdocument.in/reader036/viewer/2022062719/56649ef05503460f94c004a5/html5/thumbnails/30.jpg)
RMI Workshop - October 7, 1999
Material Balance - Third and Fourth TryMaterial Balance - Third and Fourth TryMaterial Balance - Third and Fourth TryMaterial Balance - Third and Fourth Try
• Used a standard bit climber:– flip a bit
– evaluate
– if fitness is worse, unflip the bit
– if we get stuck, scramble some number of bits and restart
• Performed even better• Perhaps the problem is not as complex as we had
once thought...?
• Used a modified bit climber:– flip bits according to changing probabilities
• 200x speedup over the original version• Project now feasible
![Page 31: RMI Workshop - October 7, 1999 RMI Workshop - Genetic Algorithms Kelly D. Crawford ARCO Crawford Software, Inc. Genetic Algorithms and Related Optimization](https://reader036.vdocument.in/reader036/viewer/2022062719/56649ef05503460f94c004a5/html5/thumbnails/31.jpg)
RMI Workshop - October 7, 1999
Gradient = Slope = DerivativeGradient = Slope = DerivativeGradient = Slope = DerivativeGradient = Slope = Derivative
a
f(x)f’(a)
Continuous, Differentiable
f(a)
![Page 32: RMI Workshop - October 7, 1999 RMI Workshop - Genetic Algorithms Kelly D. Crawford ARCO Crawford Software, Inc. Genetic Algorithms and Related Optimization](https://reader036.vdocument.in/reader036/viewer/2022062719/56649ef05503460f94c004a5/html5/thumbnails/32.jpg)
RMI Workshop - October 7, 1999
Gradient EstimatorGradient EstimatorGradient EstimatorGradient Estimator
a
g(x)
g(a-)
Noncontinuous, Nondifferentiable,but we can estimate the gradient
g(a)
g(a+)
a-
g(a-) vs g(a)
g(a) vs g(a+)
a+
{ {
![Page 33: RMI Workshop - October 7, 1999 RMI Workshop - Genetic Algorithms Kelly D. Crawford ARCO Crawford Software, Inc. Genetic Algorithms and Related Optimization](https://reader036.vdocument.in/reader036/viewer/2022062719/56649ef05503460f94c004a5/html5/thumbnails/33.jpg)
RMI Workshop - October 7, 1999
What are bit climbers?What are bit climbers?What are bit climbers?What are bit climbers?
Essentially a hill climber, but there is no analyticalinformation about what direction is “up” (i.e., no gradient,or derivative). Instead, you sample neighboring points.
Bit Climber Algorithm:
Randomly generate a string of bits, XEvaluate f(X)Loop (until stopping criteria satisfied) Randomly select a bit position, j, in X, and “flip” it (i.e., if X(j) == 1, set to 0, and vice versa) Evaluate the new f(X) If fitness is worse, “unflip” X(j) (put it back like it was)End Loop
![Page 34: RMI Workshop - October 7, 1999 RMI Workshop - Genetic Algorithms Kelly D. Crawford ARCO Crawford Software, Inc. Genetic Algorithms and Related Optimization](https://reader036.vdocument.in/reader036/viewer/2022062719/56649ef05503460f94c004a5/html5/thumbnails/34.jpg)
RMI Workshop - October 7, 1999
Keeping the changes to a minimumKeeping the changes to a minimumKeeping the changes to a minimumKeeping the changes to a minimum
1.0
0.0
10010101 10010101 01010010
A simple heuristic: Assign high probabilities to thelow order bits, low probabilities to the high order bits.
The bit climber does not attempt to avoid large changes to the chromosome (a single bit flip can result in a large overall change).
![Page 35: RMI Workshop - October 7, 1999 RMI Workshop - Genetic Algorithms Kelly D. Crawford ARCO Crawford Software, Inc. Genetic Algorithms and Related Optimization](https://reader036.vdocument.in/reader036/viewer/2022062719/56649ef05503460f94c004a5/html5/thumbnails/35.jpg)
RMI Workshop - October 7, 1999
The Modified Bit ClimberThe Modified Bit ClimberThe Modified Bit ClimberThe Modified Bit Climber
• Generate and evaluate a random bit string• Do until stopping criteria satisfied:
– Randomly select a bit position, k
– Randomly generate p from 0..1
– If p < probability of flipping bit k:
• Flip the k’th bit
• Evaluate the new string
• If fitness is worse, unflip the bit
– If count exceeds a threshhold, rerandomize the string
• Avoids making large changes to the bit string• Worked much better than standard bit climber for
this particular problem
![Page 36: RMI Workshop - October 7, 1999 RMI Workshop - Genetic Algorithms Kelly D. Crawford ARCO Crawford Software, Inc. Genetic Algorithms and Related Optimization](https://reader036.vdocument.in/reader036/viewer/2022062719/56649ef05503460f94c004a5/html5/thumbnails/36.jpg)
RMI Workshop - October 7, 1999
Don’t backtrackDon’t backtrackDon’t backtrackDon’t backtrack
1.0
0.0
10010101 10010101 01010010
Another simple heuristic: Multiply a bit’s flippingprobability by .25 (give or take) when we flip it.
This decreases the likelihood of ever flipping it again.
![Page 37: RMI Workshop - October 7, 1999 RMI Workshop - Genetic Algorithms Kelly D. Crawford ARCO Crawford Software, Inc. Genetic Algorithms and Related Optimization](https://reader036.vdocument.in/reader036/viewer/2022062719/56649ef05503460f94c004a5/html5/thumbnails/37.jpg)
RMI Workshop - October 7, 1999
Adding a bit of memory (Tabu Search?)Adding a bit of memory (Tabu Search?)Adding a bit of memory (Tabu Search?)Adding a bit of memory (Tabu Search?)
• Generate and evaluate a random bit string• Do until stopping criteria satisfied:
– Randomly select a bit position, k– Randomly generate p from 0..1– If p < probability of flipping bit k:
• Flip the k’th bit• Evaluate the new string• If fitness is worse, unflip the bit• Else, decrease the probability for this bit
– If count exceeds a threshhold, rerandomize the string
• Avoids undoing changes to the bit string• Avoids making large changes to the bit string• Worked better than the modified bit climber for
this particular problem
![Page 38: RMI Workshop - October 7, 1999 RMI Workshop - Genetic Algorithms Kelly D. Crawford ARCO Crawford Software, Inc. Genetic Algorithms and Related Optimization](https://reader036.vdocument.in/reader036/viewer/2022062719/56649ef05503460f94c004a5/html5/thumbnails/38.jpg)
RMI Workshop - October 7, 1999
Problem with the “memory” techniqueProblem with the “memory” techniqueProblem with the “memory” techniqueProblem with the “memory” technique
• It gets stuck when the probabilities get too low
• But, based on the probabilities, we can compute a mean and standard deviation for each gene representing the most likely change that would occur if we kept looking for a bit that we could flip.
• In other words, we can simulate the modified bit climber using a simple statistical analysis.
• This leads us to a much simpler, much faster algorithm that never gets stuck - a floating point, “bit” climber!
![Page 39: RMI Workshop - October 7, 1999 RMI Workshop - Genetic Algorithms Kelly D. Crawford ARCO Crawford Software, Inc. Genetic Algorithms and Related Optimization](https://reader036.vdocument.in/reader036/viewer/2022062719/56649ef05503460f94c004a5/html5/thumbnails/39.jpg)
RMI Workshop - October 7, 1999
A floating point “Bit” climberA floating point “Bit” climberA floating point “Bit” climberA floating point “Bit” climber
• Randomly generate and evaluate a float string• Compute and based on each gene’s probabilities
(a gene is a group of bits, say 10)• Until stopping criteria satisfied:
– Select a single string position, i
– Generate a mutation value as N(, )
– Add mutation value to string(i)
– Evaluate the new string
– If fitness is worse, undo the mutation
– Else, recompute and for that gene
– If count exceeds a threshhold, rerandomize the string
• 10x faster than other bit climbers tested (2000x faster than original solution)
![Page 40: RMI Workshop - October 7, 1999 RMI Workshop - Genetic Algorithms Kelly D. Crawford ARCO Crawford Software, Inc. Genetic Algorithms and Related Optimization](https://reader036.vdocument.in/reader036/viewer/2022062719/56649ef05503460f94c004a5/html5/thumbnails/40.jpg)
RMI Workshop - October 7, 1999
ConclusionsConclusionsConclusionsConclusions
• ARCO has had many technical successes in the use of Genetic Algorithms and related technologies
• The modified bit climber with memory has worked well in most, but not all, of the applications we’ve tried at ARCO: material balance, gaslift optimization (except one) and seismic multiple suppression.
• ARCO will no longer exist, per se, after this year. The new name: BP Amoco
• Could these events be related…nahhhhh!
![Page 41: RMI Workshop - October 7, 1999 RMI Workshop - Genetic Algorithms Kelly D. Crawford ARCO Crawford Software, Inc. Genetic Algorithms and Related Optimization](https://reader036.vdocument.in/reader036/viewer/2022062719/56649ef05503460f94c004a5/html5/thumbnails/41.jpg)
RMI Workshop - October 7, 1999
GA/Oil-Related PublicationsGA/Oil-Related PublicationsGA/Oil-Related PublicationsGA/Oil-Related Publications
• McCormack, Michael D., Donald J. MacAllister, Kelly D. Crawford, Richard J. Stoisits, “Maximizing Production from Hydrocarbon Reservoirs Using Genetic Algorithms”, The Leading Edge (SEG, Tulsa, OK, 1999).
• Crawford, Kelly D., Michael D. McCormack, Donald J. MacAllister, “A Probabilistic, Learning Bit Climber for Normalized Solution Spaces”, GECCO 1999.
• Stoisits, Richard J., Kelly D. Crawford, Donald J. MacAllister, Michael D. McCormack, A. S. Lawal, D. O. Ogbe. “Production Optimization at the Kuparuk River Field Utilizing Neural Networks and Genetic Algorithms”, SPE paper 52177 (OKC, OK, 1998).