В данной статье приведен алгоритм работы искусственной иммунной системы

1. Определяется набор выходных переменных, формирующих решение задачи с помощью искусственной иммунной системы. Задаётся интервал изменения каждой переменной (Xmin; Xmax) и точность решения задачи (ε). Для решения задачи, приведенной к форме многомерной многоэкстремальной оптимизации задается также вид критерия оптимизации (целевой функции).

2. Определяются количество различных значений (nб), которое может быть закодировано каждой переменной с учётом диапазона её изменения и требуемой точности:

и количество битов информации (nг), необходимых для кодирования каждой переменной в бинарном коде:

3. Рассчитывается фактическая точность нахождения каждой переменной:

4. Инициализируется начальная популяция, включающая N антител. Размер каждого антитела одинаков и равен сумме количеств битов информации (nг), необходимых для кодирования каждой переменной, составляющей антитело, в бинарном коде.

В качестве бинарного кода может использоваться двоичный код или код Грея. Переход из кода Грея в двоичный код осуществляется с использованием правил, рассмотренных в статье «Теория генетических алгоритмов. Часть 2». Преобразование двоичного значения (X2) в целое десятичное (X10) осуществляется известным со школы способом. Фактическое значение переменной после всех преобразований получается в результате применения соотношения:

5. Для каждого антитела рассчитывается значение функции цели. Определяется среднее значение целевой функции для текущей популяции антител.

6. Производится клональная селекция, в ходе которой создается популяция клонов антител, в которой каждое антитело из родительской популяции имеет число клонов, заданное настройками алгоритма.

7. Далее происходит так называемое «созревание аффинности», заключающееся в мутации клонов антител и их последующей селекции:

– каждый клон подвергается мутации, при которой происходит замена бинарных значений в случайных позициях на противоположные. Мутация каждого из антител в определенной позиции определяется значением целевой функции: чем оно лучше, тем меньше вероятность мутации.

– популяция мутировавших клонов каждого из антител сравнивается с родителем: если было обнаружено мутантное антитело, лучшее, чем родитель, то последний заменяется лучшим мутантным антителом.

8. Рассчитываются показатели аффинности между антителами с помощью расстояния Хемминга. Если расстояние Хемминга между двумя антителами меньше либо равно заданному порогу удаления, антитело с худшим значением целевой функции удаляется из популяции, а антитело с лучшим значением целевой функции заносится в отдельный массив.

9. При необходимости популяция дополняется до первоначального размера новыми случайно сгенерированными антителами.

10. Алгоритм продолжает работать до выполнения одного или нескольких условий окончания:

– исчерпано заданное предельное количество эпох эволюции искусственной иммунной системы;
– исчерпано заданное предельное физическое время эволюционного процесса;
– достигнуто удовлетворительное значение функции цели.

После выполнения условия остановки из отдельного массива с лучшими антителами выбирается самое лучшее. Оно и будет решением задачи.