Здравствуйте, StavR22, Вы писали:
SR>Типичная задача о смесях (пример):
SR> Требуется изготовить сплав из трех металлов Мj с плотностью a1j, содержанием углерода a2j и фосфора a3j, которые могут быть использованы в количествах от aj' до bj'. Характеристики сплава должны стремиться к плотности N1, содержанию углерода N2, фосфора N3.
SR> Естественное и обязательное условие:
SR>M1+M2+M3=1 (в массовых долях, или =100%). (1)
SR>Целевая функция:
SR> ,
SR>где k – количество характеристик a (в данном примере k=3);
SR>n – количество металлов (в данном примере n=3).
SR>Вопрос: возможно ли к задаче такого типа применить генетический алгоритм? Загвоздка в четко определенных интервалах массовых долей металлов [aj’;bj’] и условии (1). На мой взгляд оператор селекции в таких условиях реализовать невозможно, т.к. обмен частями хромосом приведет, в подавляющем большинстве случаев, к нарушению условия (1).
SR>Другие мнения есть?
Ну есть же штрафы, потом можно ввести какую-нибудь функцию коррекции хромосомы. Вообще, я не понял, как будет реализован алгоритм.
Почему приведёт к наруш. усл. (1)? Если сделать набор из 100 хромосом в каждой из которых будет сидеть по металлу из списка, то ничего не будет плохого.
А чем стандартные алгоритмы минимизации не устраивают? Они ведь в данной задаче и быстрее, и надёжней сработают, насколько я понимаю