Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 30.03.2010, 18:17   #1
lichnost
 
Регистрация: 30.03.2010
Сообщений: 4
Восклицание Анализ графика

Помогите пожалуйста решить "задачу о диете" с двумя неизвесными в одной целевой функции у которой имеется 2 неравенства ограничений (естественно тоже с двемя неизвесными). Все уравнения и неравенства имеют линейную структуру. Необходимо описать алгоритм решения данной задачи НЕ распространнёным методом симплекс - таблиц, а алгоритм решения графическим методом - с помощью графиков функций. В частности интерисует алгоритм анализа построенного графика на поиск области допустимых значений и нахождения экстрэмума функции (соответственно "min") по направляющему вектору. Если у кого - нибудь есть какие - то идеи, буду очень признателен Вам за их изложение. Взаранее спасибо!
lichnost вне форума Ответить с цитированием
Старый 30.03.2010, 23:09   #2
lichnost
 
Регистрация: 30.03.2010
Сообщений: 4
По умолчанию

Ну что, нет идей???
lichnost вне форума Ответить с цитированием
Старый 30.03.2010, 23:40   #3
Скарам
Дружите с Linq ;)
Форумчанин
 
Аватар для Скарам
 
Регистрация: 15.10.2008
Сообщений: 823
По умолчанию

Ну тут возникает сразу несколько моментов:
Графики нарисовать не большая проблема,но как можно нарисовать вектор-градиент,ведь производные в программе можно считать только численно(например,методом Рунге-Кутта),тем более частные производные.
Так же вопрос про область..Думаю тут надо подходить все-таки с численных методов,тем же симплекс-методом,а потом визуализировать.
Еще необходимо написать(ну или прикрутить) парсер,чтобы разбирал и считал систему уравнений.
Итого:Работы непочатый край,начните хотя бы с блок схемы,а потом можно будет думать.
Не давай организму поблажки, каждый день тренируй его в шашки..
Скарам вне форума Ответить с цитированием
Старый 01.04.2010, 17:31   #4
lichnost
 
Регистрация: 30.03.2010
Сообщений: 4
Лампочка

Можно ли решить данную задачу простым перебором? Все функции изображают прямые, можно ли сделать вывод о том что решением задачи будет либо пересечение прямых (точка), либо целая прямая (отрезок). Если моя мысль рациональна, то перебрать все значения не так уж и сложно, а из них выбрать "минимум" удовлетворяющий необходимым условиям. Если таких точек будет две (или более) то решением будут все точки на этой прямой. А графиком только визуализировать функции и оптимальное решение... Есть ли во всём вышеописанном смысл???
lichnost вне форума Ответить с цитированием
Старый 01.04.2010, 20:01   #5
Скарам
Дружите с Linq ;)
Форумчанин
 
Аватар для Скарам
 
Регистрация: 15.10.2008
Сообщений: 823
По умолчанию

В теории Вы правы,можно сделать массив из пересечений прямых(ну например считая методом Крамера систему из 2-х уравнений(для этого по сути нужна процедура,считающая определитель матрицы 2х2)),только надо учесть,что система может быть вырожденной(опред.матрицы =0).Потом двигаться по вектору-градиенту и искать ближайшие к нему точки(только надо подумать как это делать и тем более как это будет корректно). Развивайте мысль))
Не давай организму поблажки, каждый день тренируй его в шашки..
Скарам вне форума Ответить с цитированием
Старый 02.04.2010, 12:53   #6
Скарам
Дружите с Linq ;)
Форумчанин
 
Аватар для Скарам
 
Регистрация: 15.10.2008
Сообщений: 823
По умолчанию

К сказаному выше.Из пересечения прямых мы находим минимум и максимум по х и у(т.е. знаем диапозоны значений).Потом начинаем перебирать все возможные варианты с маленьким шагом.На рисунке есть область Д и Е-малое число(шаг).
Т.е. мы разбиваем всю область определения на малые квадраты(в 3-х мерном простанстве-кубы).

Проверяем,чтобы выполнялись все условия(подставляя все промежуточные значения х и у),если они выполняются,то считаем значение целевой функции в этой точке,(если целевая функция стремиться к минимуму)если она меньше предыдущей,то запоминаем значение(и х,у)(потом сравним с ним).И так мы можем найти минимум целевой функции.Недостаток такого метода,что значение будет вычислено с точностью Е.Смысл алгоритма ясен?
З.Ы. Я почти крут)))
Не давай организму поблажки, каждый день тренируй его в шашки..

Последний раз редактировалось Скарам; 02.04.2010 в 13:02.
Скарам вне форума Ответить с цитированием
Старый 02.04.2010, 13:24   #7
Anatole
Форумчанин
 
Аватар для Anatole
 
Регистрация: 07.04.2009
Сообщений: 245
По умолчанию

Цитата:
Можно ли решить данную задачу простым перебором? Все функции изображают прямые, можно ли сделать вывод о том что решением задачи будет либо пересечение прямых (точка), либо целая прямая (отрезок). Если моя мысль рациональна, то перебрать все значения не так уж и сложно, а из них выбрать "минимум" удовлетворяющий необходимым условиям. Если таких точек будет две (или более) то решением будут все точки на этой прямой. А графиком только визуализировать функции и оптимальное решение... Есть ли во всём вышеописанном смысл???
Конечно есть.Поскольку целевая функция является линейной функцией двух переменных то она описывает собой плоскость в трёхмерном пространстве. Следовательно для нахождения экстремума достаточно выбрать его из значений целевой функции в точках пересечения прямых ограничивающих область поиска экстремума.
Всякое безобразие должно быть единообразным. Тогда это называется порядком.
Anatole вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
АВС-анализ. abdumanon Microsoft Office Excel 8 14.09.2010 08:32
Анализ результатов Foxtrot_1 Помощь студентам 0 04.10.2009 18:49
спектральный анализ DeDoK Общие вопросы Delphi 7 19.09.2008 22:47
Анализ словосочетаний. PUH Помощь студентам 19 11.06.2008 01:53