SYSTEM INTEGRATION

20250189270 ยท 2025-06-12

Assignee

Inventors

Cpc classification

International classification

Abstract

A feasibility display indicative of a feasibility of a weapon successfully engaging a target and/or a feasibility of a weapon successfully engaging the aircraft is generated. The aircraft in conjunction with another device cooperatively generate the same. The another device has a database describing a performance envelope of the weapon. The another device identifies a best candidate polynomial from a plurality based on scores of the plurality. Each score is based on a quality of fit of the candidate polynomial to a characteristic of the performance envelope of the weapon. The another device uploads, after a plurality of characteristics are evaluated, to the aircraft coefficients which are determined for the best candidate polynomial Variables of the plurality are some or all of a weapon or aircraft firing condition parameters The aircraft uses selected coefficients to generate the feasibility display where selection is based on conditions of the aircraft and target.

Claims

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 a form of a polynomial, the creating including: a) generating candidate polynomials, variables of the candidate 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 a 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 candidate polynomial and discarding the other candidate polynomials, thereby identifying a best candidate polynomial and coefficients thereof; and e) repeating said identifying process until each of the characteristics of the performance envelope have corresponding polynomial models; uploading, to the aircraft, the coefficients of the identified best candidate polynomial; selecting, by a reconstructor on the aircraft containing the same generic algorithm, 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; 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 candidate 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 candidate polynomial using the saved coefficients and scores and discarding the other candidate polynomials, thereby identifying the best candidate polynomial and coefficients thereof; and wherein the selecting, by the reconstructor on the aircraft containing the same generic algorithm, the coefficients for the generic algorithm according to conditions of the aircraft and the target comprises selecting, by the reconstructor on the aircraft containing the same generic algorithm, the coefficients for the generic algorithm, if the aircraft and the target are within the performance envelope of the weapon, according to the conditions of the aircraft and the target.

2. The method according to claim 1, wherein the 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 claim 1, wherein the iteratively applying the genetic algorithm over the variables of the candidate polynomials for each order and/or type of the respective sub-set thereof comprises: selecting combinations of the variables of the candidate 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 candidate polynomials for each order and/or type of the respective sub-set thereof.

4. The method according to claim 3, wherein the iteratively applying the genetic algorithm over the selected combinations of the variables of the candidate 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 candidate polynomials for each order and/or type of the respective sub-set thereof.

5. The method according to claim 4, wherein the iteratively applying the genetic algorithm concurrently over the selected combinations of the variables of the candidate 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 candidate polynomials for each order and/or type of the respective sub-set thereof on respective threads.

6. The method according to claim 1, wherein the 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 candidate 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 candidate 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 the 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 candidate 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 claim 7, further comprising determining the threshold based on a previous score.

10. The method according to claim 1, wherein the types of the candidate polynomials of the set thereof include univariate polynomials, multivariate polynomials and modifications thereof.

11. The method according to claim 1, wherein the generic polynomial is of the form: y n = .Math. m = 1 M n mn x 1 p 1 mn x 2 p 2 mn where: .sub.mn represent the m coefficients required to compute output n; {x.sub.1 . . . x.sub.Ni} represent the normalised inputs; {y.sub.1 . . . y.sub.Ni} represent the outputs; and p.sub.1mn represents the exponent of the x.sub.1 variable of the m.sup.th term of the n.sup.th 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 system comprising: a first computer comprising a memory and a processor, the first computer being remote from the aircraft; and a second computer comprising a memory and a processor, the second computer being 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 a form of a polynomial, the creating including: a) generating candidate polynomials, variables of the candidate 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 candidate polynomial and discarding the other candidate polynomials, thereby identifying a best candidate polynomial and coefficients thereof; and e) repeating said identifying process until each of the 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, 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; 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 candidate 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 using the saved coefficients and scores and discarding the other candidate polynomials, thereby identifying the best candidate polynomial and coefficients thereof; and wherein the second computer is configured to select, by the reconstructor containing the same generic algorithm, the coefficients for the generic algorithm according to conditions of the aircraft and the target, if the aircraft and the target are within the performance envelope of the weapon, according to the conditions of the aircraft and the target.

13. The system according to claim 12, further comprising a display for displaying the feasibility display.

14. An aircraft comprising the second computer according to claim 12.

15. A computer, comprising a processor and a memory, the computer configured to implement the method according to claim 1.

16. A non-transitory computer-readable storage medium comprising instructions, which when executed by a processor, cause the processor to perform the method according to claim 1.

17. The method according to claim 2, wherein the iteratively applying the genetic algorithm over the variables of the candidate polynomials for each order and/or type of the respective sub set thereof comprises: selecting combinations of the variables of the candidate 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 candidate polynomials for each order and/or type of the respective sub-set thereof.

18. The method according to claim 2, wherein the 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 candidate 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 candidate polynomials for each order and/or type of the respective sub-set thereof and saving the resulting respective coefficients and scores thereof.

19. The method according to claim 8, further comprising determining the threshold based on a previous score.

20. The method according to claim 2, wherein the generic polynomial is of the form: y n = .Math. m = 1 M n mn x 1 p 1 mn x 2 p 2 mn where: .sub.mn represent the m coefficients required to compute output n; {x.sub.1 . . . x.sub.Ni} represent the normalised inputs; {y.sub.1 . . . y.sub.Ni} represent the outputs; and p.sub.1mn represents the exponent of the x.sub.1 variable of the m.sup.th term of the n.sup.th polynomial.

Description

BRIEF DESCRIPTION OF THE FIGURES

[0128] Embodiments of the invention will now be described by way of example only with reference to the figures, in which:

[0129] FIGS. 1A and 1B schematically depict a Launch Acceptability Region (LAR) for an air-to-surface weapon;

[0130] FIG. 2 schematically depicts a Launch Success Zone (LSZ) for an air-to-air weapon;

[0131] FIG. 3 schematically depicts a system according to an exemplary embodiment;

[0132] FIG. 4 schematically depicts the system of FIG. 3, in more detail;

[0133] FIG. 5 schematically depicts the system of FIG. 3, in more detail, showing construction of the SOPNN;

[0134] FIG. 6 schematically depicts the system of FIG. 3, in more detail, showing GA-SOPNN parallelisation over the many polynomial order and input parameters;

[0135] FIG. 7 schematically depicts the system of FIG. 3, in more detail;

[0136] FIG. 8 schematically depicts the system of FIG. 3, in more detail, showing GA-SOPNN models application for classifying weapon capability and for LSZ/LAR parameters estimation in the region of the engagement; and

[0137] FIG. 9 schematically depicts the system of FIG. 3, in more detail, showing a Polynomial Neural Network Based Capability Filter.

DETAILED DESCRIPTION

[0138] FIG. 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. FIG. 1B schematically depicts the display generated for the LAR of FIG. 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, R.sub.min and R.sub.max.

[0139] 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.

[0140] The LSZ shown in FIG. 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, R.sub.min and R.sub.max, between which the target T can be successfully engaged, but there is a zone bounded by R.sub.min 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 R.sub.NE. The zone bounded by R.sub.NE and R.sub.min 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.

[0141] 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.

[0142] 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.

[0143] FIG. 3 schematically depicts a system according to an exemplary embodiment. The DDWI has three elements: [0144] Fitting Toolset, an office based design tool for Mission Systems engineers to turn weapon truth data into a set of weapon coefficients; [0145] Data loaded coefficients, a common format that can be software build/theatre/mission data loaded into different platforms for the same weapon; and [0146] Common on board algorithm, which can represent any weapon on any platform and only becomes weaponised when coefficients are loaded.

[0147] FIG. 4 schematically depicts the system of FIG. 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.

[0148] 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.

[0149] 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.

[0150] 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 FIG. 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: [0151] 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; [0152] 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; [0153] 3. Compute a score function for each candidate; [0154] 4. Improve this population recursively using a Genetic Algorithm: [0155] a) Retain the best scoring candidates; [0156] b) Reject the worst candidates; [0157] c) Breed a new population with randomly chosen combinations of characteristics drawn from the best group; [0158] 5. Iterate until it stops improving or it meets your accuracy criteria; [0159] 6. The result is the first layer of a Self-Organising Polynomial Neural Network (SOPNN); [0160] 7. Each subsequent layer of the SOPNN takes the best outputs of the previous layer as its inputs, and then proceeds as described above; [0161] 8. The effect is to create higher-order candidate polynomials for consideration; [0162] 9. Optimisation within the new layer uses the same Genetic Algorithm as before; [0163] 10. Layers are added until improvement stops or reaches the maximum layer as set by the user; [0164] 11. Only the single best polynomial and coefficient set of interesti.e. the output of the final layer with the best score; [0165] 12. All other outputs of the final layer are rejected; [0166] 13. All nodes in the lower layers that do not contribute to the best polynomial are rejected.

[0167] 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 FIG. 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.

[0168] In this example, the polynomial is parameterized into a string of binary string comprising three parameters (also known as sub-chromosones): [0169] 1.sup.st parameter is order; [0170] 2.sup.nd parameter is number of inputs; and [0171] 3.sup.rd parameter identifies which inputs are used by that polynomial.

[0172] 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: [0173] selecting combinations of the variables of the polynomials for each order and/or type of the respective sub-set thereof; and [0174] 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.

[0175] 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.

[0176] 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.

[0177] 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.

[0178] 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.

[0179] 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.

[0180] Parallelising the operation of the GA-SOPNN itself will/allow us to unlock more performance, as shown in FIG. 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.

[0181] 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.

[0182] 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-fueling 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,000 ft whereas a second type of aircraft may have a maximum altitude of 55,000 ft, and so on.

[0183] 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,000 ft, whereas a second type of weapon may be able to be released up to an altitude of 45,000 ft, and so on.

[0184] 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.

[0185] 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.

[0186] 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.

[0187] 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).

[0188] 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.

[0189] 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.

[0190] 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.

[0191] 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 and mutating the retained candidate polynomials). A set of coefficients and score values are then calculated for this new generation of candidates, and so on.

[0192] 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).

[0193] 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.

[0194] 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 FIG. 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 FIG. 5, where nodes which contribute to the optimal solution are lightly shaded and discarded nodes are black.

[0195] 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.

[0196] 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.

[0197] The generic LAR/LSZ algorithm is predetermined, and in this example, the generic polynomial is, as described previously, of the form:

[00006] y n = .Math. m = 1 M n mn x 1 p 1 mn x 2 p 2 mn

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

[00007] y = .Math. n = 1 M m y 1 p 1 m y 2 p 2 m y 3 p 3 m

[0199] In this example, the order of the generic polynomial is in a range from 10 to 25, for example 20.

[0200] Referring again to FIG. 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).

[0201] 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.).

[0202] 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.).

[0203] 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.).

[0204] 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.).

[0205] 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. The second computer 13 is configured to select, by the reconstructor containing the same generic algorithm, the coefficients for the generic algorithm according to conditions of the aircraft and the target, if the aircraft and the target are within the performance envelope of the weapon, according to the conditions of the aircraft and the target.

[0206] In this way, a Capability Filter (CF) is provided that finds the limits of the capable envelope of a weapon system in any chosen region of the engagement envelope and examines the feasibility of weapon engagement for current launch conditionsi.e. for finding out if the current firing is inside or outside the hit zone for the weapon. This offers the prospect of classifying large, highly dimensional spaces using relatively concise models, thus saving in both processing and storage for the host system.

[0207] FIG. 8 shows how the capability filter fits in the assessment of the whole envelope. The diagram represents the process carried out for a candidate engagement. Firstly, the capability filter assesses whether or not the weapon has capability. Secondly, if the weapon has capability, the relevant LSZ/LAR parameters are then estimated.

[0208] FIG. 9 outlines the three main steps involved in the CF implementation. First, all capability ranges in the training data are converted to one and the no capability cases are kept as zero, then the fitting and estimation method described above is used to numerically learn the binary outputs, and finally a threshold is applied to the predicted values, (somewhere between 1 and 0), to determine the true binary output.

[0209] 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.