Программная реализация графического метода решения задач нелинейного программирования для случая нелинейной целевой функции и линейных ограничений

Курсовой проект - Компьютеры, программирование

Другие курсовые по предмету Компьютеры, программирование

ую 10-ти.

Подставив полученные коэффициенты в целевую функцию, найдем точку минимума:

 

 

Ответ:Lmin = 25,06; Lmax = 72,25.

Пример 2:

Задана целевая функция:

 

 

И ее ограничения:

 

 

Построим график целевой функции, ограничений и выделим область допустимых решений:

 

Рис. 11. График примера 2.

 

Выразим Х2, уравняв каждое ограничение:

 

X1+2x2=12 x2=6-x1/2

x1+x2=9 x2=9-x1

 

Т.к. точка О принадлежит ОДЗ, она является точкой минимума, следовательно Lmin= 0.

Самой дальней точкой является точка пересечения графика второго ограничения с осью ox1, следовательно координата x2 данной точки равна нулю. Подставив полученное значение в функцию ограничения, найдем точку координату x1 точки максимума равную 9-ти.

Подставив полученные коэффициенты в целевую функцию, найдем точку минимума:

 

 

Ответ: L min = 0; L max = 59.

 

1.6Экономическая суть

 

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

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

графический нелинейный алгоритм программирование

 

Глава 2.Математический анализ графического метода решения задач нелинейного программирования

 

2.1 Математическая модель метода

 

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

 

 

и удовлетворяет системе ограничений

 

 

Задачи нелинейного программирования не имеют общих методов решения. Подход к решению задачи зависит от степени целевой функции и ограничений. Зачастую их степени разнятся, поэтому для большинства случаев разработаны новые методы или адаптированы старые.

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

Математическая модель этой задачи имеет вид: определить такие переменные х1 и х2, удовлетворяющие условиям:

 

 

 

при которых функция:

 

 

достигает экстремумов (минимума и максимума).

 

2.2 Входные и выходные данные

 

Программному средству, для расчетов требуются следующие входные данные: коэффициенты c1, c2, a11, a12, b1, a21, a22, b2. Возможно изменение точности вычислений, по умолчанию равной 0,01. Выходными данными является график решения задачи, координаты x1, x2точек экстремума и точки О, значения экстремумов целевой функции.

 

 

2.3 Блок-схема графического метода решения задач нелинейного программирования

 

Рис. 11. Блок-схема реализации программы на ЭВМ

 

 

Рис. 12. Блок-схема процедуры calcMax() - нахождение максимального значения целевой функции

 

 

Рис. 13. Блок-схема процедуры calcMin() - нахождение минимального значения целевой функции

 

 

Глава 3.Программная реализация графического метода решения задач нелинейного программирования для случая целевой функции второго порядка и линейных ограничений

 

3.1Организация диалога программы с пользователем

 

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

Так как целевая функция второго порядка содержит в себе две переменные с коэффициентами и соответственно существуют два ограничения на их основе, то целесообразно было организовать ввод данных посредством текстовых полей на месте коэффициентовa,bи c. Таким образом интерфейс программы становится интуитивно понятным. Кроме коэффициентов целевой функции и ограничений, требуется ввести точность вычислений, которая по умолчанию равняется 0,001.

 

Рис. 14. Поля ввода данных

 

После нажатия кнопки Рассчитать происходит вычисление координат точки О и точек экстремума, максимума и минимума целевой функции.

 

Рис. 15. Поля вывода результатов

 

Также осуществляется вывод графика с ограничивающими прямыми, точкой О и точками экстремума.

 

Рис. 16. Вывод графика.

 

Для того, чтобы рассчитать другую задачу, не нужно ?/p>