FIELD
[0001] This invention relates to the integration of systems and, more particularly, to the
integration of weapons on complex, highly integrated aircraft.
BACKGROUND
[0002] Integration of a weapon system with the other systems on an aircraft is a complex
and lengthy task, as it affects all the major aircraft systems. Accordingly, there
is a requirement to improve weapon integration time and affordability.
[0003] One of the requirements of weapon integration is to enable the display of information
to the aircraft pilot as to whether or not a weapon is capable of successfully engaging
a particular target. For this purpose, weapons are usually grouped into two categories,
weapons designed to engage targets on the ground (air to ground weapons) and weapons
designed to engage targets in the air (air to air weapons). In the case of air to
ground weapons, a Launch Acceptability Region (LAR) is calculated, being the region
where the probability of successfully engaging or hitting a selected target is above
some threshold value. The LAR is calculated in order to provide cockpit displays in
the launch aircraft indicating the feasibility of successfully engaging the target,
and is a function of the weapon performance characteristics, the relative positions
and motions of the aircraft and the target, and often ambient conditions such as wind
speed and direction.
[0004] For an air-to-air weapon, a Launch Success Zone (LSZ) is calculated, indicative of
the probability of successfully engaging a selected air target being above some threshold
value. Again, the LSZ is used to provide a cockpit display indicating whether the
weapon is capable of successfully engaging the target. However, calculation of an
LSZ is more complicated than the calculation of an LAR because the relative speeds
and directions of travel of the launch aircraft and the target are much greater, the
effects of ambient conditions are greater, and also the physical properties of the
weapons in flight are more significant on the calculation.
[0005] The conventional approach has been to create a simple, abstract model of the weapon,
which is modified according to the launch conditions (taking into account the aircraft
and target conditions (e.g. range, direction and speed of travel, etc.) and the ambient
conditions). The model is used on board the aircraft to generate the LAR or LSZ for
display to the pilot. A disadvantage of the conventional approach is that each model,
for each different weapon type, is different. Storing the data relating to several
different implicit models consumes significant storage capacity, and each model has
to be comprehensively integrated to ensure that there is no adverse effect on any
of the aircraft systems. Further, if there are any changes or modifications made to
a weapon (such as an improvement in performance) or if it is necessary to load the
aircraft with a completely new weapon, a lengthy and expensive integration process
has to be conducted because the weapon model is substantially different to anything
previously integrated with the aircraft systems.
SUMMARY
[0006] According to a first aspect of the present invention, there is provided a computer-implemented
method of generating, in an aircraft in flight, a feasibility display indicative of
a feasibility of a weapon carried on the aircraft successfully engaging a target and/or
a feasibility of a weapon carried on the target successfully engaging the aircraft,
the method comprising:
providing a database describing a performance envelope of the weapon;
creating coefficients characteristic of that performance envelope using a generic
algorithm, wherein the generic algorithm has the form of a polynomial, by steps including:
- a) generating candidate polynomials, the variables of the polynomials being some or
all of a group of weapon or aircraft firing condition parameters;
- b) for each candidate polynomial, computing coefficients for that candidate polynomial
which best fit that candidate polynomial to a characteristic of the performance envelope
of the weapon using a criterion of least square error;
- c) for each candidate polynomial, generating a candidate score according to the quality
of the fit of that candidate polynomial to the characteristic of the performance envelope
of the weapon;
- d) applying a genetic algorithm to the candidate polynomials and scores including
selecting the best scoring polynomial(s) and discarding the other polynomial(s), thereby
identifying a best candidate polynomial and coefficients thereof; and
- e) repeating said identifying process until all the required characteristics of the
performance envelope have corresponding polynomial models;
uploading, to the aircraft, the coefficients of the identified best candidate polynomial;
and
selecting, by a reconstructor on the aircraft containing the same generic algorithm,
the coefficients for the generic algorithm according to conditions of the aircraft
and the target; and
using the selected coefficients, generating, by the reconstructor, the feasibility
display;
characterised by:
wherein step d) applying the genetic algorithm to the candidate polynomials and scores
comprises:
- i) defining a set of orders and/or types of the candidate polynomials and dividing
the defined set of orders and/or types into a plurality of sub-sets thereof;
- ii) iteratively applying the genetic algorithm concurrently over the plurality of
sub-sets of the defined set of orders and/or types of the candidate polynomials, including
iteratively applying the genetic algorithm over the variables of the polynomials for
each order and/or type of the respective sub-set thereof and saving the resulting
respective coefficients and scores thereof; and
- iii) selecting the best scoring polynomial(s) using the saved coefficients and scores
and discarding the other polynomial(s), thereby identifying the best candidate polynomial
and coefficients thereof.
[0007] In this way, the method significantly improves weapon integration time and cost.
In more detail, typically a genetic algorithm proceeds in an iterative manner by generating
new populations of strings from old ones. Every string is the encoded version of a
tentative solution. An evaluation function associates a fitness measure to every string
indicating its suitability to the problem. The algorithm applies stochastic operators
such as selection, crossover and mutation on an initially random population in order
to compute a whole generation of new strings. The inventors have identified that these
algorithms may be adapted for use on multiple processor workstations or distributed
systems with transparent process migration. Every fitness evaluation and adaptation
operation may be performed within a separate process i.e. concurrently. In the case
of a trivial fitness function, it is likely that not much improvement in the evolution's
speed will be observed because of the level of overhead. However, for weapon aiming
and many tasks on certain systems, this is obviously time consuming, reflecting the
ad hoc nature of the solution process. The accuracy of the fitting depends on the
complexity of the performance envelope. To represent the performance envelope accurately
and achieve the required accuracy for the whole or a subset of the envelope large
data sets may be required. As the data size increase, the amount of computation and
the processing time grow faster. The benefits of having the fitness evaluations occur
in parallel are significant.
[0008] In order to apply genetic algorithms to a particular application, an internal representation
of the space to be searched is selected and an external function that assigns a fitness
value to candidate solutions is defined. The inventors have adapted the genetic algorithm
to parallelise over the many polynomial orders (also known as degrees) and input parameters
that the genetic algorithm has to run. Each run tests several parameter combinations
of polynomial order and inputs, reporting on the execution time, memory and flops
operations for the final model requirement to solve the problem for each parameter
combination, as described below in more detail.
[0009] The method can be used for different weapon types, and a respective set of coefficients
may be easily determined for each weapon type e.g. for each of a plurality of different
firing conditions (i.e. aircraft and target conditions). The aircraft and target conditions
may include but are not limited to one or more of their relative positions, distances,
directions of movement, speeds and ambient atmospheric conditions. The weapon or aircraft
firing condition parameters may include, but are not limited to, parameters such as
aircraft velocities, aircraft height, aircraft attitude, slant range to target, target
velocities, target height, line of sight azimuth, target pitch and aspect angles,
and wind speed. The weapon or aircraft firing condition parameters may include, but
are not limited to relative velocities and directions of travel of the launch aircraft
and the target and those of the weapon relative to the target.
[0010] Advantageously, the above described generic polynomial/algorithm may be used (e.g.
simultaneously) by multiple different types of aircraft. In other words, different
types of aircraft may use the same generic algorithm to calculate LARs/LSZs. Also,
the same generic algorithm may be used to calculate LARs/LSZs for different weapon
types. Thus, aircraft software comprising the generic polynomial and means for allowing
loading of coefficients for each weapon loaded on aircraft is produced only once.
The software algorithm and coefficients, for any given weapon, are the same for any
aircraft type. This tends to be different to conventional methodologies in which,
although common tools may be used for polynomial and coefficient generation, both
the software (including an algorithm/polynomial) and coefficients are generated for
every weapon type and every time the weapon performance is changed. This need to rewrite
the software and the certification of it tends to be particularly costly. The above
described method and system advantageously tend to provide that the aircraft software
does not have to be rewritten and hence no new certification is required.
[0011] In some embodiments, each aircraft within a fleet comprising a plurality of different
aircraft is loaded with the same, common generic polynomial. When a weapon is loaded
onto an aircraft in the fleet, the specific coefficients corresponding to that weapon
may also be loaded onto that aircraft. This tends to be in contrast to conventional
systems in which, although the tools for generating LAR/LSZs may be common across
multiple different aircraft, when a weapon is loaded onto an aircraft, both a polynomial/algorithm
and corresponding coefficients for generating LAR/LSZs are generated for that aircraft
and weapon load-out.
[0012] The coefficients can be implemented as loadable data so as to allow accurate and
precise weapon behaviour to be implemented within the weapon system. Also, using one
or only a few generic algorithms would allow different weapon systems to be cleared
or certificated/qualified for use with the aircraft with reduced effort and more quickly
than with the extensive testing which is required with conventional approaches. That
is, a minimal number of generic weapon aiming algorithms may be used in order to take
account of all weapon types.
[0013] The use of generic algorithms for weapon aiming also enables increases or significant
changes in weapon system capability to be integrated with the aircraft systems with
significantly less effort than heretofore.
[0014] By determining a feasibility of a weapon carried on the target successfully engaging
the aircraft, it is displayed whether or not, or to what extent, the aircraft is at
risk of being successfully engaged by a weapon carried by a hostile target. This calculation
of opposing LSZs/MEZs and allows better assessment of engagements. This in turn could
lead to confident predictions of advantage and likely outcome of engagements.
[0015] Advantageously, the above aspects provide a generic polynomial/algorithm that may
be used (e.g. simultaneously) by multiple different types of aircraft. Different types
of aircraft may use the same generic algorithm to calculate LARs/LSZs. Also, the same
generic algorithm may be used to calculate LARs/LSZs for different weapon types. Thus,
aircraft software comprising the generic polynomial and means for allowing loading
of coefficients for each weapon loaded on aircraft is produced only once. The software
algorithm and coefficients, for any given weapon, are the same for any aircraft type.
This tends to be different to conventional methodologies in which, although common
tools may be used for polynomial and coefficient generation, both the software (including
an algorithm/polynomial) and coefficients are generated for every weapon type and
every time the weapon performance is changed. This need to rewrite the software and
the certification of it tends to be particularly costly. The above described method
and system advantageously tend to provide that the aircraft software does not have
to be rewritten and hence no new certification is required.
[0016] In one example, iteratively applying the genetic algorithm concurrently over the
plurality of sub-sets of the defined set of orders and/or types of the candidate polynomials
comprises iteratively applying the genetic algorithm concurrently over the plurality
of sub-sets of the defined set of orders and/or types of the candidate polynomials
on respective processors and/or different threads.
[0017] In this way, iteratively applying the genetic algorithm concurrently is enhanced
since the genetic algorithm is iteratively applied on the respective threads and/or
processors.
[0018] In one example, iteratively applying the genetic algorithm over the variables of
the polynomials for each order and/or type of the respective sub-set thereof comprises:
selecting combinations of the variables of the polynomials for each order and/or type
of the respective sub-set thereof; and
iteratively applying the genetic algorithm over the selected combinations of the variables
of the polynomials for each order and/or type of the respective sub-set thereof.
[0019] In this way, the genetic algorithm is iteratively applied over the selected combinations
of the variables (also known as inputs) of the polynomials, for example only to the
selected combinations of the variables of the polynomials, thereby accelerating the
method.
[0020] In one example, iteratively applying the genetic algorithm over the selected combinations
of the variables of the polynomials for each order and/or type of the respective sub-set
thereof comprises iteratively applying the genetic algorithm concurrently over the
selected combinations of the variables of the polynomials for each order and/or type
of the respective sub-set thereof.
[0021] In this way, the genetic algorithm is iteratively applied over the selected combinations
of the variables of the polynomials for each order and/or type of the respective sub-set
thereof concurrently, thereby accelerating the method.
[0022] In one example, iteratively applying the genetic algorithm concurrently over the
selected combinations of the variables of the polynomials for each order and/or type
of the respective sub-set thereof comprises iteratively applying the genetic algorithm
concurrently over the selected combinations of the variables of the polynomials for
each order and/or type of the respective sub-set thereof on respective threads and/or
processors.
[0023] In this way, iteratively applying the genetic algorithm concurrently is enhanced
since the genetic algorithm is iteratively applied on the respective threads and/or
processors.
[0024] In one example, iteratively applying the genetic algorithm concurrently over the
plurality of sub-sets of the defined set of orders and/or types of the candidate polynomials,
including iteratively applying the genetic algorithm over the variables of the polynomials
for each order and/or type of the respective sub-set thereof and saving the resulting
respective coefficients and scores thereof comprises conditionally iteratively applying
the genetic algorithm concurrently over the plurality of sub-sets of the defined set
of orders and/or types of the candidate polynomials, including iteratively applying
the genetic algorithm over the variables of the polynomials for each order and/or
type of the respective sub-set thereof and saving the resulting respective coefficients
and scores thereof.
[0025] In this way, iteratively applying the genetic algorithm concurrently over the plurality
of sub-sets of the defined set of orders and/or types of the candidate polynomials
is conditional, for example upon not meeting a predetermined threshold, thereby accelerating
terminating of an iteration, for example.
[0026] In one example, conditionally iteratively applying the genetic algorithm concurrently
over the plurality of sub-sets of the defined set of orders and/or types of the candidate
polynomials comprises terminating applying the genetic algorithm over the variables
of the polynomials for each order and/or type of the respective sub-set thereof if
the respective scores do not meet a threshold.
[0027] In one example, the threshold is predetermined.
[0028] In one example, the method comprises determining the threshold based on a previous
score.
[0029] In this way, applying the genetic algorithm over the variables of the polynomials
for each order and/or type of the respective sub-set thereof is terminated if the
respective scores do not meet a previous score i.e. do not improve a fit.
[0030] In one example, the types of the candidate polynomials of the set thereof include
univariate polynomials, multivariate polynomials and modifications thereof. Other
polynomial types are known.
[0031] In one example, the orders of the candidate polynomials of the set thereof are in
a range from 1 to 100, preferably in a range from 2 to 25, more preferably in a range
from 3 to 10, most preferably in a range from 5 to 9, for example 5, 6, 7, 8, 9.
[0032] In one example, the generic polynomial (i.e. wherein the generic algorithm has the
form of a polynomial) is of the form:

where:
amnrepresent the m coefficients required to compute output n;
{x1 ...xNi} represent the normalised inputs;
{y1 ...yNi} represent the outputs; and
p1mn represents the power (exponent) of the x1 variable of the mth term of the nth polynomial.
[0034] In one example, the order of the generic polynomial is 3 or greater. In one example,
the order of the generic polynomial is in a range from 10 to 25, for example 20. Surprisingly,
the inventors have found that using a generic algorithm with an order of around 20
adequately describes most air-to-air engagements accurately in an appropriate runtime
for on-aircraft implementation. Nevertheless, the generic algorithm may have an order
greater than 2.
[0035] In one example, step b) for each candidate polynomial, computing coefficients for
that candidate polynomial which best fit that candidate polynomial to the characteristic
of the performance envelope of the weapon using the criterion of least square error
comprises: 1) generating an initial population of candidate polynomials; 2) for each
candidate polynomial, computing a set of coefficients which fit that polynomial to
the performance envelope according to one or more criteria; and 3) for each candidate
polynomial and respective set of coefficients, computing a score function indicative
of the quality of the fit of that candidate polynomial and that set of coefficients
to the performance envelope; and 4) recursively applying a genetic algorithm to the
set of candidate polynomials until one or more criteria are met, including retaining
at least the best scoring polynomial and discarding the other polynomial(s). In one
example, the outputs of the retained polynomial(s) are a layer of a Self-Organising
Polynomial Neural Network and are used to provide inputs for creating higher order
candidate polynomials. In one example, these steps are iterated on the higher order
candidate polynomials. In one example, a final result is obtained from the path ending
with the best candidate score.
[0036] In one example, the target comprises and/or is an aircraft. In one example, the feasibility
display is indicative of a Launch Success Zone of the aircraft and/or the target.
[0037] In one example, the target comprises and/or is a ground-based target. In one example,
the feasibility display is indicative of a Launch Acceptability Region of the aircraft
and/or a Missile Engagement Zone of the target.
[0038] In one example, step b) for each candidate polynomial, computing coefficients for
that candidate polynomial which best fit that candidate polynomial to the characteristic
of the performance envelope of the weapon using the criterion of least square error
comprises:
generating an initial population of candidate polynomials;
for each candidate polynomial, computing a set of coefficients which fit that polynomial
to the performance envelope according to one or more criteria (e.g. a least squares
criterion);
for each candidate polynomial and respective set of coefficients, computing a score
function indicative of the quality of the fit of that candidate polynomial and that
set of coefficients to the performance envelope; and
recursively applying a genetic algorithm to the set of candidate polynomials until
one or more criteria are met, including retaining at least the best scoring polynomial
and discarding the other polynomial(s).
[0039] In one example, the outputs of the retained polynomial(s) are a layer of a Self-Organising
Polynomial Neural Network and are used to provide inputs for creating higher order
candidate polynomials. In one example, these are iterated until a final result having
the best candidate score is obtained.
[0040] In one example, the performance envelope of the weapon is the weapon's performance,
for example the minimum envelope defining the weapon's performance, when the weapon
is implemented on the aircraft. In one example, the performance envelope of the weapon
is the weapon's respective performance when the weapon is implemented on aircraft
of different aircraft types. In one example, the method comprises acquiring respective
performance envelopes for one or more different aircraft types, for example for a
plurality of different aircraft types.
[0041] In one example, the method comprises determining the performance envelope using a
plurality of aircraft performance envelopes, including determining a performance envelope
defining the performance of all of the different aircraft types (i.e. a "maximum aircraft
performance envelope"), and, using the performance envelope that is representative
of the performance of all of the different aircraft types and the weapon performance
envelope, determining a performance envelope defining the weapon's performance when
that weapon is implemented on each of the different aircraft types. In one example,
the performance envelope is the minimum sized envelope that defines the weapon's performance
when that weapon is implemented on each of the different aircraft types.
[0042] In some aspects, a database is generated by: defining the range of conditions for
which the weapon may be required to be fired, the range of aircraft conditions for
which it is feasible for the aircraft to fire the weapon and the range of weapon conditions
for which it is feasible to fire the weapon; generating data indicative of the weapon
performance for each weapon firing possibility from within the defined ranges; and
creating a database defining the weapon's overall performance envelope. The coefficients
may then be determined from this database and the generic polynomial. In this way
the database can be generated on a ground-based system, so that the aircraft system
needs the capacity only to store the generic polynomial and process the coefficients
with the aircraft and target conditions in order to generate the feasibility display.
Thus, the amount of data storage/processing capacity required on the aircraft tends
to be reduced.
[0043] The coefficients can be implemented as loadable data so as to allow accurate and
precise weapon behaviour to be implemented within the weapon system. Also, using one
or only a few generic algorithms would allow different weapon systems to be cleared
or certificated/qualified for use with the aircraft with reduced effort and more quickly
than with the extensive testing which is required with conventional approaches.
[0044] The step of uploading, to the aircraft, the generated coefficients may be performed
when the weapon is loaded as an aircraft store. When loading a new weapon store, to
integrate the weapon and aircraft aiming system, the coefficients associated with
that weapon may be uploaded to the aircraft at the same time as the weapon. Preferably,
the coefficients are stored on a hardware device with the weapon, and the device is
connected to the aircraft to upload the coefficient data as the weapon is loaded.
[0045] According to a second aspect of the present invention, there is provided a system
for generating in an aircraft in flight, a feasibility display indicative of a feasibility
of a weapon carried on the aircraft successfully engaging a target and/or a feasibility
of a weapon carried on the target successfully engaging the aircraft, the computer,
the system comprising a first computer, comprising a memory and a processor, remote
from the aircraft and a second computer, comprising a memory and a processor, onboard
the aircraft;
wherein the first computer is configured to:
provide a database describing a performance envelope of the weapon;
create coefficients characteristic of that performance envelope using a generic algorithm,
wherein the generic algorithm has the form of a polynomial, by steps including:
- a) generating candidate polynomials, the variables of the polynomials being some or
all of a group of weapon or aircraft firing condition parameters;
- b) for each candidate polynomial, computing coefficients for that candidate polynomial
which best fit that candidate polynomial to a characteristic of the performance envelope
of the weapon using a criterion of least square error;
- c) for each candidate polynomial, generating a candidate score according to the quality
of the fit of that candidate polynomial to the characteristic of the performance envelope
of the weapon;
- d) applying a genetic algorithm to the candidate polynomials and scores including
selecting the best scoring polynomial(s) and discarding the other polynomial(s), thereby
identifying a best candidate polynomial and coefficients thereof; and
- e) repeating said identifying process until all the required characteristics of the
performance envelope have corresponding polynomial models;
upload, to the second computer, the coefficients of the identified best candidate
polynomial;
wherein the second computer is configured to:
select, by a reconstructor containing the same generic algorithm, the coefficients
for the generic algorithm according to conditions of the aircraft and the target;
and
using the selected coefficients, generate, by the reconstructor, the feasibility display;
characterised by:
wherein step d) applying the genetic algorithm to the candidate polynomials and scores
comprises:
- i) defining a set of orders and/or types of the candidate polynomials and dividing
the defined set of orders and/or types into a plurality of sub-sets thereof;
- ii) iteratively applying the genetic algorithm concurrently over the plurality of
sub-sets of the defined set of orders and/or types of the candidate polynomials, including
iteratively applying the genetic algorithm over the variables of the polynomials for
each order and/or type of the respective sub-set thereof and saving the resulting
respective coefficients and scores thereof; and
- iii) selecting the best scoring polynomial(s) using the saved coefficients and scores
and discarding the other polynomial(s), thereby identifying the best candidate polynomial
and coefficients thereof.
[0046] In one example, the system comprises a display for displaying the feasibility display.
[0047] According to a third aspect of the present invention, there is provided an aircraft
comprising the second computer according to the second aspect.
[0048] According to a fourth aspect of the present invention, there is provided a computer,
comprising a processor and a memory, configured to implement a method according to
the first aspect.
[0049] According to a fifth aspect of the present invention, there is provided a computer
program comprising instructions which, when executed by a computer, comprising a processor
and a memory, cause the computer to perform a method according to the first aspect.
[0050] According to a sixth aspect of the present invention, there is provided a non-transient
computer-readable storage medium comprising instructions which, when executed by a
computer, comprising a processor and a memory, cause the computer to perform a method
according to the first aspect.
BRIEF DESCRIPTION OF THE FIGURES
[0051] Embodiments of the invention will now be described by way of example only with reference
to the figures, in which:
Figures 1A and 1B schematically depict a Launch Acceptability Region (LAR) for an
air-to-surface weapon;
Figure 2 schematically depicts a Launch Success Zone (LSZ) for an air-to-air weapon;
Figure 3 schematically depicts a system according to an exemplary embodiment;
Figure 4 schematically depicts the system of Figure 3, in more detail;
Figure 5 schematically depicts the system of Figure 3, in more detail, showing construction
of the SOPNN;
Figure 6 schematically depicts the system of Figure 3, in more detail, showing GA-SOPNN
parallelisation over the many polynomial order and input parameters; and
Figure 7 schematically depicts the system of Figure 3, in more detail.
DETAILED DESCRIPTION
[0052] Figure 1A schematically depicts the LAR in the plane of flight of a launch aircraft
1 flying along a flight path 3 in respect of a target 5 for an air-to-surface weapon
(not shown) loaded on the aircraft. The LAR is calculated to provide cockpit displays
in the launch aircraft 1 concerning the feasibility and firing opportunities for the
situation. Figure 1B schematically depicts the display generated for the LAR of Figure
1A, which is in the form of a down range and cross range display (shaded area), where
the weapon flight path 7 coincides with the aircraft flight path 3; to successfully
engage the target 5 as shown in the display, the target must fall inside the shaded
LAR. As the aircraft 1 moves in the downrange direction, the displayed LAR is bounded
by the minimum and maximum ranges,
Rmin and
Rmax.
[0053] In addition to the LAR for the launch aircraft 1, a Missile Engagement Zone (MEZ)
for the target 5 may be determined and displayed to the pilot of the aircraft 1. This
MEZ may indicate a region in which the likelihood of a ground-to-air weapon (e.g.
a missile) carried by the target 5 successfully intercepting the aircraft 1 is above
a threshold value.
[0054] The LSZ shown in Figure 2 is the region where the probability of an air-to-air weapon
hitting an airborne target T is above a threshold level. Calculation of the LSZ is
more complicated than for the LAR, because a greater number of factors are involved,
such as the relative velocities and directions of travel of the launch aircraft and
the target, and those of the weapon relative to the target. Also, the shape of the
LSZ is more complex than that of the LAR; as with the LAR, there are maximum and minimum
ranges,
Rmin and
Rmax, between which the target T can be successfully engaged, but there is a zone bounded
by
Rmin within which the target T cannot be engaged successfully because it is outside the
capability of the weapon to manoeuvre and hit the target when the launch aircraft
is so close to the target, given the speeds and directions of travel of the launch
aircraft and the target T. In this example, the LSZ further includes a so-called "no
escape range"
RNE. The zone bounded by
RNE and
Rmin is a zone in which the likelihood of the Target T successfully evading the weapon
is below a threshold likelihood. This range may be determined using performance parameters
of the weapon, the launch aircraft 1 and the target T. As is known in the art, there
are two LSZs, one for the launch aircraft to engage the target 7 and the other for
the target to engage the launch aircraft.
[0055] It is often a requirement to calculate the LAR or LSZ for an engagement to display
to the crew of the launch aircraft information regarding the feasibility, or likelihood
of success, of the engagement, and to aid fire control and steering decisions. The
traditional approach has been to create a simple, abstract model of the weapon that
has parameters defined by the launch conditions; this model is then used on board
the launch aircraft to generate the LAR, LSZ, or MEZ and the appropriate display.
[0056] Traditional Weapon Aiming Process usually involve bespoke design, implementation
and qualification for every weapon/platform combination. Bespoke approach is extremely
costly and time intensive. Even minor changes in weapon performance trigger complex
loops around the bespoke process. Such process was also subject to limited on board
computational capacity. However, todays platforms have passed the critical capacity
limit. In order to improve weapon integration time and affordability, the inventors
have developed a Data Driven Weapon Integration (DDWI) approach that uses a generic
algorithm, which can be "customised" for a particular weapon by using a unique set
of data coefficients. In doing so, DDWI breaks the dependency on the bespoke model
for weapon aiming creation. It reduces avionics life cycle cost and improves timescales
delivering a significant saving, and offers flexibility in service to "tune" and/or
"sanitise" weapon aiming performance. The mission data coefficients uploaded onto
the platform are derived from a sophisticated multi-dimensional weapon model. Performing
parallel computations on multicore computers, GPUs, and computer clusters let the
inventors solve such computationally and data-intensive problems, unlock more performance
and reduction in processing time.
[0057] Figure 3 schematically depicts a system according to an exemplary embodiment. The
DDWI has three elements:
- Fitting Toolset, an office based design tool for Mission Systems engineers to turn
weapon truth data into a set of weapon coefficients;
- Data loaded coefficients, a common format that can be software build/theatre/mission
data loaded into different platforms for the same weapon; and
- Common on board algorithm, which can represent any weapon on any platform and only
becomes weaponised when coefficients are loaded.
[0058] Figure 4 schematically depicts the system of Figure 3, in more detail, and is divided
between those processes 11 which are carried out on the ground and the processes 13
which are carried out on the launch aircraft 1. The system is for generating in an
aircraft in flight, a feasibility display indicative of a feasibility of a weapon
carried on the aircraft successfully engaging a target and/or a feasibility of a weapon
carried on the target successfully engaging the aircraft, the computer, the system
comprising a first computer, comprising a memory and a processor, remote from the
aircraft and a second computer, comprising a memory and a processor, onboard the aircraft.
[0059] The first computer 11 is configured to: provide a database describing a performance
envelope of the weapon; create coefficients characteristic of that performance envelope
using a generic algorithm, wherein the generic algorithm has the form of a polynomial,
by steps including: a) generating candidate polynomials, the variables of the polynomials
being some or all of a group of weapon or aircraft firing condition parameters; b)
for each candidate polynomial, computing coefficients for that candidate polynomial
which best fit that candidate polynomial to a characteristic of the performance envelope
of the weapon using a criterion of least square error; c) for each candidate polynomial,
generating a candidate score according to the quality of the fit of that candidate
polynomial to the characteristic of the performance envelope of the weapon; d) applying
a genetic algorithm to the candidate polynomials and scores including selecting the
best scoring polynomial(s) and discarding the other polynomial(s), thereby identifying
a best candidate polynomial and coefficients thereof; and e) repeating said identifying
process until all the required characteristics of the performance envelope have corresponding
polynomial models; upload, to the second computer, the coefficients of the identified
best candidate polynomial. Step d) applying the genetic algorithm to the candidate
polynomials and scores comprises: i) defining a set of orders and/or types of the
candidate polynomials and dividing the defined set of orders and/or types into a plurality
of sub-sets thereof; ii) iteratively applying the genetic algorithm concurrently over
the plurality of sub-sets of the defined set of orders and/or types of the candidate
polynomials, including iteratively applying the genetic algorithm over the variables
of the polynomials for each order and/or type of the respective sub-set thereof and
saving the resulting respective coefficients and scores thereof; and iii) selecting
the best scoring polynomial(s) using the saved coefficients and scores and discarding
the other polynomial(s), thereby identifying the best candidate polynomial and coefficients
thereof.
[0060] The second computer 13 is configured to: select, by a reconstructor containing the
same generic algorithm, the coefficients for the generic algorithm according to conditions
of the aircraft and the target; and using the selected coefficients, generate, by
the reconstructor, the feasibility display.
[0061] In more detail, the core of the DDWI is the off-line coefficient generator 21. The
coefficient generator 21 identifies coefficients for the generic algorithm to make
it 'fit' the performance envelope shape. The form of the generic algorithm is usually
decided in advance e.g. any polynomial equation of degree (i.e. order) up to n. The
coefficient generator 21 receives the true performance envelope and calculates coefficients
for the generic algorithm. The coefficients 'fit' the generic algorithm to the performance
envelope shape.
[0062] The estimation and fitting process uses a Genetic Algorithm for self-organising polynomial
neural network approach. It calculates the sets of coefficients that would allow the
geometric shapes of LAR/LSZ regions to be modelled (and subsequently reconstructed)
by standard polynomial "algorithms", see Figure 5. It uses an evolutionary technique
called Genetic Algorithm as the central mechanism for Self-Organising Polynomial Neural
Network (GA-SOPNN), and automating the derivation of a number of polynomial model's
coefficients within each layer. The process involves the following steps:
- 1. Create an initial population of candidate polynomials, of different order with
inputs comprising some or all of the firing parameters, in which each polynomial function
is a unique solution to the problem;
- 2. Compute coefficients to fit these candidates to the weapon performance envelope
for the chosen characteristic of the LAR/LSZ; using the criterion of least-squares
error;
- 3. Compute a score function for each candidate;
- 4. Improve this population recursively using a Genetic Algorithm:
- a) Retain the best scoring candidates;
- b) Reject the worst candidates;
- c) "Breed" a new population with randomly chosen combinations of characteristics drawn
from the best group;
- 5. Iterate until it stops improving or it meets your accuracy criteria;
- 6. The result is the first layer of a Self-Organising Polynomial Neural Network (SOPNN);
- 7. Each subsequent layer of the SOPNN takes the best outputs of the previous layer
as its inputs, and then proceeds as described above;
- 8. The effect is to create higher-order candidate polynomials for consideration;
- 9. Optimisation within the new layer uses the same Genetic Algorithm as before;
- 10. Layers are added until improvement stops or reaches the maximum layer as set by
the user;
- 11. Only the single best polynomial and coefficient set of interest - i.e. the output
of the final layer with the best score;
- 12. All other outputs of the final layer are rejected;
- 13. All nodes in the lower layers that do not contribute to the best polynomial are
rejected.
[0063] In order to apply genetic algorithms to a particular application, an internal representation
of the space to be searched is selected and an external function that assigns a fitness
value to candidate solutions is defined. The inventors have adapted the genetic algorithm
to parallelise over the many polynomial orders and input parameters that the genetic
algorithm has to run, as shown in Figure 6. Each run tests several parameter combinations
of polynomial order and inputs, reporting on the execution time, memory and flops
operations for the final model requirement to solve the problem for each parameter
combination, as described below in more detail.
[0064] In this example, the polynomial is parameterized into a string of binary string comprising
three parameters (also known as sub-chromosones):
1st parameter is order;
2nd parameter is number of inputs; and
3rd parameter identifies which inputs are used by that polynomial.
[0065] In this example, iteratively applying the genetic algorithm over the variables of
the polynomials for each order and/or type of the respective sub-set thereof comprises:
selecting combinations of the variables of the polynomials for each order and/or type
of the respective sub-set thereof; and
iteratively applying the genetic algorithm over the selected combinations of the variables
of the polynomials for each order and/or type of the respective sub-set thereof.
[0066] In this example, the genetic algorithm starts with an initial population of randomly
generated strings and hence a corresponding initial population of randomly generated
polynomials (orders, inputs). Each polynomial is scored using a least squares fit
and the best polynomials are selected. These best polynomials are mutated by switching
the binary in the corresponding strings to modify (orders, inputs). The modified strings
are used to generate new polynomials in a new layer of the SOPNN. The order of the
polynomial increases from layer to another.
[0067] In this example, iteratively applying the genetic algorithm over the selected combinations
of the variables of the polynomials for each order and/or type of the respective sub-set
thereof comprises iteratively applying the genetic algorithm concurrently over the
selected combinations of the variables of the polynomials for each order and/or type
of the respective sub-set thereof.
[0068] In this example, iteratively applying the genetic algorithm concurrently over the
plurality of sub-sets of the defined set of orders and/or types of the candidate polynomials
comprises iteratively applying the genetic algorithm concurrently over the plurality
of sub-sets of the defined set of orders and/or types of the candidate polynomials
on respective processors and/or different threads.
[0069] In this example, iteratively applying the genetic algorithm concurrently over the
selected combinations of the variables of the polynomials for each order and/or type
of the respective sub-set thereof comprises iteratively applying the genetic algorithm
concurrently over the selected combinations of the variables of the polynomials for
each order and/or type of the respective sub-set thereof on respective threads and/or
processors.
[0070] In this example, the maximum polynomial order is capped and the maximum number inputs
is capped. Capping the maximum order and number of inputs means that the randomly
generated polynomials during the GA training can be of any order and inputs up to
their maximum values respectively. In this example, the respective coefficients for
each polynomial order are computed by individual processors. In this example, the
respective coefficients for each input for each polynomial order are computed by individual
processors.
[0071] Parallelising the operation of the GA-SOPNN itself will/allow us to unlock more performance,
as shown in Figure 7. By allocating NUM_THREADS for each process, individual solution
in the population can be divided between threads. For example, for a GA population
of 100 individuals, and 4 CPU cores, the 100 iterations would be divided into 4 so
thread 0 would do 1-25, thread 1 26-50 and so on, which result in the GA-SOPNN algorithm
do the work about 4 times faster.
[0072] In more detail, the processes 11, 13 begin with the generation of the data space,
which is the range of conditions over which the weapon performance envelope is to
be defined; this is effected by a data space generator 15, and depends on the ranges
of conditions: for which it is required to fire the weapon (which is defined by the
weapon user/operator); for which it is feasible to fire according to the launch aircraft
capability, and for which it is feasible to fire according to the weapon capability/performance.
[0073] In this example, the data space generator 15 comprises data which describes performance
parameters for each of a plurality of different aircraft types. Different types of
aircraft may have different capabilities from one another, thus, for example, aircraft
having the same or similar capabilities may be regarded as being the same "aircraft
type". Different types of aircraft may be different models or makes of aircraft and/or
may have different manufacturers. Different types of aircraft may have different operational
parameters (maximum speed, maximum altitude, g limit, etc.). Different types of aircraft
may be configured for different purposes or function (e.g. bombers, fighters, re-fuelling
etc.). These aircraft performance envelopes may be supplied by the aircraft manufacturers
or through testing. The plurality of different aircraft types includes the type of
the launch aircraft 1 and, preferably, the target aircraft T. The performance parameters
for each of the aircraft types may include, but are not limited to, a maximum achievable
altitude, a maximum achievable g-force, and a maximum achievable climb angle. The
values of the performance parameters for different types of aircraft may be different
from one another. For example, a first type of aircraft may have a maximum altitude
of 45,000ft whereas a second type of aircraft may have a maximum altitude of 55,000ft,
and so on.
[0074] In this example, the data space generator 15 further comprises data which describes
performance parameters for each of a plurality of different weapon types, e.g. different
weapons that may be loaded onto to the launch aircraft or may be expected to be carried
by a hostile target. These weapon performance envelopes may be supplied by the weapon
manufacturers or through testing. The plurality of different weapon types includes
the type of the weapon that is carried by the launch aircraft 1 and, preferably, the
target. The performance parameters for each of the weapon types may include, but are
not limited to, a maximum altitude at which the weapon may be released, a maximum
g-force at which the weapon may be released, and release mechanism of the weapon.
The values of the performance parameters for different types of weapon may be different
from one another. For example, a first type of weapon may be able to be released up
to an altitude of 35,000ft, whereas a second type of weapon may be able to be released
up to an altitude of 45,000ft, and so on.
[0075] The data space generator 15 may define the release, weather and commanded impact
conditions for training and verification sets which are run by a truth data generator
17.
[0076] The truth data generator 17 determines the weapon performance for each firing case
in the data space; this depends on the weapon performance model which is usually provided
by the weapon manufacturer.
[0077] The product of the truth data generator 17 is the truth database 19, which is a set
of data specifying, for each weapon type, the further weapon performance envelope
for each of a plurality of exemplary weapon firings. The truth data generator 17 may
produce the training and verification sets which are used by a coefficient generator
21.
[0078] Conventionally, the truth database is used as a model which can be employed onboard
the launch aircraft in order to generate the feasibility of engagement displays (LAR
or LSZ, as appropriate).
[0079] In this example, the coefficient generator 21 receives the further weapon performance
envelopes stored by the truth database 19 and calculates, for each weapon type and
for each example weapon firing, coefficients according to a generic LAR/LSZ algorithm
23 that "fit" the generic algorithm to the further weapon performance envelope shape.
[0080] What will now be described is a method of determining coefficient values that fit
a generic algorithm to the performance envelope of a particular weapon type and particular
example weapon firing. It will be appreciated that in reality, a set of coefficients
is determined for each of the weapon types for each of the example weapon firings.
[0081] In this method the coefficient generator 21 starts by creating an initial set of
candidate polynomials whose variables are some or all of the weapon or aircraft firing
condition parameters. Each of the candidate polynomials is a unique solution the fitting
problem. Some or all of the candidate polynomials may have different order, or dimension,
from some or all of the other candidate polynomials. For each candidate polynomial,
a set of coefficients is then computed that best "fit" that candidate polynomial to
the weapon performance envelope. This may be done using a criterion of least square
error or any other fitting method. For each candidate polynomial, a score indicative
of the quality of this fit is then computed.
[0082] The number of inputs 27 and the form of each polynomial descriptor, PD Layer Node,
are determined by an optimisation method known as the Genetic Algorithm. The Genetic
Algorithm is applied to the candidate polynomials and scores. In this example, the
best scoring polynomials are retained and the other (i.e. worst scoring) polynomials
are rejected. New candidate polynomials that have similar features to the retained
candidate polynomials are then created to replace the rejected ones (e.g. by 'breeding'
or 'mutating' the retained candidate polynomials). A set of coefficients and score
values are then calculated for this new generation of candidates, and so on.
[0083] The Genetic Algorithm is repeated until improvement in the scores of the best candidates
ceases or some other criteria are satisfied. The result is the first layer, Layer
1, of a Self-Organising Polynomial Neural Network (SOPNN).
[0084] The whole process is then repeated with the outputs of the first layer providing
the inputs to create a second layer, Layer 2, of the SOPNN. The new layer has the
effect of creating higher-order candidate polynomials and coefficients for consideration.
The selection of polynomials in the new layer is again governed and optimised by the
Genetic Algorithm.
[0085] Layers are added to the SOPNN in this way until improvement in the scores of the
best candidates ceases or some other criteria are satisfied. A completed network comprising
two layers is represented in Figure 5. The final network is obtained recursively from
the path ending at the output node with the best score in the final generation of
candidates (the "Optimum Solution"). Any node with no connection to this path is discarded
as shown in Figure 5, where nodes which contribute to the optimal solution are lightly
shaded and discarded nodes are black.
[0086] As described above, the inventors have adapted the genetic algorithm to parallelise
over the many polynomial orders and input parameters that the genetic algorithm has
to run.
[0087] The best single candidate polynomial and coefficient set is identified and stored.
This process is repeated until all the required characteristics of the LAR/LSZ have
corresponding polynomial models. In other words, the process is repeated until, for
each firing condition, and for each weapon type, a polynomial model fitted to the
further weapon performance envelope for that weapon type and firing condition is generated.
[0088] The generic LAR/LSZ algorithm is predetermined, and in this example, the generic
polynomial is, as described previously, of the form:

[0089] In this example, the best candidate polynomial is, as described previously, of the
form:

[0090] In this example, the order of the generic polynomial is in a range from 10 to 25,
for example 20.
[0091] Referring again to Figure 4, the output of the coefficient generator 21 is the set
of coefficients which is loaded onto the launch aircraft by a data uploader. Following
this step, the onboard processes 13 comprise a reconstructor 25, which brings together
the generic LAR/LSZ algorithm 23 (which is held in the aircraft systems) and the uploaded
coefficients, so as to reconstruct the LAR, LSZ, or MEZ for a particular engagement
by selecting the appropriate algorithm and coefficients for the current launch conditions
(i.e. the weapon or aircraft firing conditions).
[0092] Once the LAR, LSZ, or MEZ has been reconstructed for a particular engagement by the
systems onboard the aircraft, the LAR, LSZ, or MEZ is displayed by conventional means
onboard the aircraft. In this example, in operation, when the launch aircraft 1 engages
with a hostile target aircraft T, the reconstructor 25 onboard the launch aircraft
1 may select, from the uploaded coefficients, those coefficients that correspond to
the weapon being carried by the launch aircraft 1 and that correspond to the relevant
firing condition (altitude, angle of attack, environmental conditions, g-force being
experienced etc.). The selected coefficients may then be used to reconstruct the LSZ
of the launch aircraft 1 for display to the pilot of the launch aircraft 1. The reconstructed
LSZ of the launch aircraft 1 may also be used by other systems onboard the launch
aircraft 1 to recommend actions to the pilot of the launch aircraft 1 (e.g. a recommendation
that the weapon is fired etc.).
[0093] When the launch aircraft 1 engages with a hostile target aircraft T, the aircraft
type of the hostile target T may be determined by the pilot of the launch aircraft
1 (or by other means) and input to the reconstructor 25. The reconstructor 25 onboard
the launch aircraft 1 may then select, from the uploaded coefficients, those coefficients
that correspond to the weapon most likely being carried by the hostile target T and
that correspond to the relevant firing conditions. The selected coefficients may then
be used to reconstruct the LSZ of the hostile target T for display to the pilot of
the launch aircraft 1. The reconstructed LSZ of the hostile target T may also be used
by other systems onboard the launch aircraft 1 to recommend actions to the pilot of
the launch aircraft 1 (e.g. a recommendation that certain evasive manoeuvres are performed
etc.).
[0094] In this example, in operation, when the launch aircraft 1 engages with a hostile
ground target 5, the reconstructor 25 on-board the launch aircraft 1 may select, from
the uploaded coefficients, those coefficients that correspond to the weapon being
carried by the launch aircraft 1 and that correspond to the relevant firing condition
(altitude, angle of attack, environmental conditions, g-force being experienced etc.).
The selected coefficients may then be used to reconstruct the LAR of the launch aircraft
1 for display to the pilot of the launch aircraft 1 . The reconstructed LAR of the
launch aircraft 1 may also be used by other systems onboard the launch aircraft 1
to recommend actions to the pilot of the launch aircraft 1 (e.g. a recommendation
that the weapon is fired etc.).
[0095] When the launch aircraft 1 engages with a hostile ground target 5, the type of the
ground target 5 may be determined by the pilot of the launch aircraft 1 (or by other
means) and input to the reconstructor 25. The reconstructor 25 onboard the launch
aircraft 1 may then select, from the uploaded coefficients, those coefficients that
correspond to the weapon most likely being carried by the ground target 5 and that
correspond to the relevant firing conditions. The selected coefficients may then be
used to reconstruct the MEZ of the ground target 5 for display to the pilot of the
launch aircraft 1. The reconstructed MEZ of the ground target 5 may also be used by
other systems onboard the launch aircraft 1 to recommend actions to the pilot of the
launch aircraft 1 (e.g. a recommendation that certain evasive manoeuvres are performed
etc.).
[0096] Apparatus, including the any of the above mentioned processors, for implementing
the above described arrangement, may be provided by configuring or adapting any suitable
apparatus, for example one or more computers or other processing apparatus or processors,
and/or providing additional modules. The apparatus may comprise a computer, a network
of computers, or one or more processors, for implementing instructions and using data,
including instructions and data in the form of a computer program or plurality of
computer programs stored in or on a machine readable storage medium such as computer
memory, a computer disk, ROM, PROM etc., or any combination of these or other storage
media.
1. A computer-implemented method of generating, in an aircraft in flight, a feasibility
display indicative of a feasibility of a weapon carried on the aircraft successfully
engaging a target and/or a feasibility of a weapon carried on the target successfully
engaging the aircraft, the method comprising:
providing a database describing a performance envelope of the weapon;
creating coefficients characteristic of that performance envelope using a generic
algorithm, wherein the generic algorithm has the form of a polynomial, by steps including:
a) generating candidate polynomials, the variables of the polynomials being some or
all of a group of weapon or aircraft firing condition parameters;
b) for each candidate polynomial, computing coefficients for that candidate polynomial
which best fit that candidate polynomial to a characteristic of the performance envelope
of the weapon using a criterion of least square error;
c) for each candidate polynomial, generating a candidate score according to the quality
of the fit of that candidate polynomial to the characteristic of the performance envelope
of the weapon;
d) applying a genetic algorithm to the candidate polynomials and scores including
selecting the best scoring polynomial(s) and discarding the other polynomial(s), thereby
identifying a best candidate polynomial and coefficients thereof; and
e) repeating said identifying process until all the required characteristics of the
performance envelope have corresponding polynomial models;
uploading, to the aircraft, the coefficients of the identified best candidate polynomial;
and
selecting, by a reconstructor on the aircraft containing the same generic algorithm,
the coefficients for the generic algorithm according to conditions of the aircraft
and the target; and
using the selected coefficients, generating, by the reconstructor, the feasibility
display;
characterised by:
wherein step d) applying the genetic algorithm to the candidate polynomials and scores
comprises:
i) defining a set of orders and/or types of the candidate polynomials and dividing
the defined set of orders and/or types into a plurality of sub-sets thereof;
ii) iteratively applying the genetic algorithm concurrently over the plurality of
sub-sets of the defined set of orders and/or types of the candidate polynomials, including
iteratively applying the genetic algorithm over the variables of the polynomials for
each order and/or type of the respective sub-set thereof and saving the resulting
respective coefficients and scores thereof; and
iii) selecting the best scoring polynomial(s) using the saved coefficients and scores
and discarding the other polynomial(s), thereby identifying the best candidate polynomial
and coefficients thereof.
2. The method according to claim 1, wherein iteratively applying the genetic algorithm
concurrently over the plurality of sub-sets of the defined set of orders and/or types
of the candidate polynomials comprises iteratively applying the genetic algorithm
concurrently over the plurality of sub-sets of the defined set of orders and/or types
of the candidate polynomials on respective processors.
3. The method according to any previous claim, wherein iteratively applying the genetic
algorithm over the variables of the polynomials for each order and/or type of the
respective sub-set thereof comprises:
selecting combinations of the variables of the polynomials for each order and/or type
of the respective sub-set thereof; and
iteratively applying the genetic algorithm over the selected combinations of the variables
of the polynomials for each order and/or type of the respective sub-set thereof.
4. The method according to claim 3, wherein iteratively applying the genetic algorithm
over the selected combinations of the variables of the polynomials for each order
and/or type of the respective sub-set thereof comprises iteratively applying the genetic
algorithm concurrently over the selected combinations of the variables of the polynomials
for each order and/or type of the respective sub-set thereof.
5. The method according to claim 4, wherein iteratively applying the genetic algorithm
concurrently over the selected combinations of the variables of the polynomials for
each order and/or type of the respective sub-set thereof comprises iteratively applying
the genetic algorithm concurrently over the selected combinations of the variables
of the polynomials for each order and/or type of the respective sub-set thereof on
respective threads.
6. The method according to any previous claim, wherein iteratively applying the genetic
algorithm concurrently over the plurality of sub-sets of the defined set of orders
and/or types of the candidate polynomials, including iteratively applying the genetic
algorithm over the variables of the polynomials for each order and/or type of the
respective sub-set thereof and saving the resulting respective coefficients and scores
thereof comprises conditionally iteratively applying the genetic algorithm concurrently
over the plurality of sub-sets of the defined set of orders and/or types of the candidate
polynomials, including iteratively applying the genetic algorithm over the variables
of the polynomials for each order and/or type of the respective sub-set thereof and
saving the resulting respective coefficients and scores thereof.
7. The method according to claim 6, wherein conditionally iteratively applying the genetic
algorithm concurrently over the plurality of sub-sets of the defined set of orders
and/or types of the candidate polynomials comprises terminating applying the genetic
algorithm over the variables of the polynomials for each order and/or type of the
respective sub-set thereof if the respective scores do not meet a threshold.
8. The method according to claim 7, wherein the threshold is predetermined.
9. The method according to any of claims 7 to 8, comprising determining the threshold
based on a previous score.
10. The method according to any previous claim, wherein the types of the candidate polynomials
of the set thereof include univariate polynomials, multivariate polynomials and modifications
thereof.
11. The method according to any previous claim, wherein the generic polynomial is of the
form:

where:
αmnrepresent the m coefficients required to compute output n;
{x1 ...xNi} represent the normalised inputs;
{y1 ...yNi} represent the outputs; and
p1mn represents the exponent of the x1 variable of the mth term of the nth polynomial.
12. A system for generating in an aircraft in flight, a feasibility display indicative
of a feasibility of a weapon carried on the aircraft successfully engaging a target
and/or a feasibility of a weapon carried on the target successfully engaging the aircraft,
the computer, the system comprising a first computer, comprising a memory and a processor,
remote from the aircraft and a second computer, comprising a memory and a processor,
onboard the aircraft;
wherein the first computer is configured to:
provide a database describing a performance envelope of the weapon;
create coefficients characteristic of that performance envelope using a generic algorithm,
wherein the generic algorithm has the form of a polynomial, by steps including:
a) generating candidate polynomials, the variables of the polynomials being some or
all of a group of weapon or aircraft firing condition parameters;
b) for each candidate polynomial, computing coefficients for that candidate polynomial
which best fit that candidate polynomial to a characteristic of the performance envelope
of the weapon using a criterion of least square error;
c) for each candidate polynomial, generating a candidate score according to the quality
of the fit of that candidate polynomial to the characteristic of the performance envelope
of the weapon;
d) applying a genetic algorithm to the candidate polynomials and scores including
selecting the best scoring polynomial(s) and discarding the other polynomial(s), thereby
identifying a best candidate polynomial and coefficients thereof; and
e) repeating said identifying process until all the required characteristics of the
performance envelope have corresponding polynomial models;
upload, to the second computer, the coefficients of the identified best candidate
polynomial;
wherein the second computer is configured to:
select, by a reconstructor containing the same generic algorithm, the coefficients
for the generic algorithm according to conditions of the aircraft and the target;
and
using the selected coefficients, generate, by the reconstructor, the feasibility display;
characterised by:
wherein step d) applying the genetic algorithm to the candidate polynomials and scores
comprises:
i) defining a set of orders and/or types of the candidate polynomials and dividing
the defined set of orders and/or types into a plurality of sub-sets thereof;
ii) iteratively applying the genetic algorithm concurrently over the plurality of
sub-sets of the defined set of orders and/or types of the candidate polynomials, including
iteratively applying the genetic algorithm over the variables of the polynomials for
each order and/or type of the respective sub-set thereof and saving the resulting
respective coefficients and scores thereof; and
iii) selecting the best scoring polynomial(s) using the saved coefficients and scores
and discarding the other polynomial(s), thereby identifying the best candidate polynomial
and coefficients thereof.
13. The system according to claim 12, comprising a display for displaying the feasibility
display.
14. An aircraft comprising the second computer according to any of claims 12 to 13.
15. A computer, comprising a processor and a memory, configured to implement a method
according to any of claims 1 to 11, a computer program comprising instructions which,
when executed by a computer, comprising a processor and a memory, cause the computer
to perform a method according to any of claims 1 to 11, or a non-transient computer-readable
storage medium comprising instructions which, when executed by a computer, comprising
a processor and a memory, cause the computer to perform a method according to any
of claims 1 to 11.