Доброго времени суток всем, недавно на практике в университете по дисциплине «Теория принятия решений» разбирали методы пассивного и активного поиска экстремума целевой функции(далее ЦФ) и т.к. я немного подзаморочался, чтобы разобраться в алгоритмах, я решил написать небольшую статью включая мои алгоритмы на языке Java. Поехали.
Суть нашего задания была в том, чтобы найти минимальное значение(экстремум) ЦФ по двум и трём точкам, методом сеток(далее МС) и методом покоординатного спуска(далее МПС), и при этом учитывать точность вычисления целевой функции. Точности были заданы по заданию(Листинг 1).
Для чего они? Чуть позже я сведу всё воедино.
Также для задачи поиска экстремума, нужен диапазон в котором будет проводится поиск экстремума ЦФ, ну и естественно сама ЦФ, и так, вот какая была у нас.
Суть нашего задания была в том, чтобы найти минимальное значение(экстремум) ЦФ по двум и трём точкам, методом сеток(далее МС) и методом покоординатного спуска(далее МПС), и при этом учитывать точность вычисления целевой функции. Точности были заданы по заданию(Листинг 1).
//Листинг 1
private static final double[] eplsilons = {0.5, 0.1, 0.05, 0.01, 0.005, 0.001};
Для чего они? Чуть позже я сведу всё воедино.
Также для задачи поиска экстремума, нужен диапазон в котором будет проводится поиск экстремума ЦФ, ну и естественно сама ЦФ, и так, вот какая была у нас.
- Для двух точек
- Для трёх точек