Я использую Visual Studio C++ в качестве платформы для сближения с глобальным минимумом.Использование генетического алгоритма для слияния с глобальным минимумом функции переменной 2
Предположим, что функция является функцией черного ящика, где in, если я ввожу (x, y), я получаю z.
А также, что используемый алгоритм представляет собой генетический алгоритм реального значения, в котором я не конвертирую образцы в двоичные коды, а вместо этого в плавающие точки.
https://karczmarczuk.users.greyc.fr/TEACH/IAD/GenDoc/carrGenet.pdf
Я использовал алгоритм упомянутый там в приложении B. Для нахождения минимума 2 - переменной функции.
е (х, у) = г
Я сделал поиск значения сетки, чтобы получить график проблемы. Я прикрепил график.
Здесь минимальное значение графика, как можно видеть из графика только в одной точке из (0.6, 1.3).
Алгоритм сходится, если я использую дискретные значения (x, y) кратно 0,1. Напр. 0,8,0,9,2,2,5,6 и т. Д. Но в противном случае он не сходится.
Есть ли способ изменить график, чтобы он соответствовал алгоритму, или если я могу изменить алгоритм, чтобы свести к минимуму функцию?
Почему бы вам не модифицировать графа? Это похоже на фотосъемку вашего дома, чтобы сделать его больше, если вам нужно больше места в вашем доме. И какой алгоритм? – plasmacel
@plasmacel Сначала я взял логарифм z для получения этого графика. Если бы был другой способ снова обработать его, чтобы алгоритм сходился легко. –
Вы не предоставляете информацию о функции, которую хотите минимизировать, или алгоритме минимизации. Как вы ожидаете помощи? – plasmacel