2014 dxdy logo

Научный форум dxdy

Математика, Физика, Computer Science, Machine Learning, LaTeX, Механика и Техника, Химия,
Биология и Медицина, Экономика и Финансовая Математика, Гуманитарные науки




Начать новую тему Ответить на тему
 
 Известна ли такая постановка задачи линейного прогр-ия ?
Сообщение26.10.2006, 09:21 


23/10/06
10
Положим вектор целевой функции единичным.Для единичного вектора целевой функции f0
и заданных ограничениях найдем решение х задачи линейного программирования(ЗЛП).
Найденный х будет являться решением ЗЛП для некоторого подпространства векторов
целевой функции. Очевидно,что существует такой единичный вектор f1 ,принадлежащий
этому подпростанству, при котором целевая функция при заданном х достигает своего максимума. Другими словами, f1 есть "ближайший" вектор к полученному решению х.
Процесс решения ЗЛП есть нахождение х и f1 при заданном начальном f0.
К сожалению ,нигде не нашел такой постановки задачи ЗЛП и методов решения для f1.
Буду благодарен за ссылки и комментарии.

 Профиль  
                  
 
 Re: Известна ли такая постановка задачи линейного прогр-ия ?
Сообщение28.10.2006, 00:22 
Модератор
Аватара пользователя


11/01/06
5710
Попробую переформулировать в матрично-векторной форме.
Пусть матрица $A$ и вектор $b$ фиксированы.
Определим функцию $f(c)=\max c^T x$ при ограничениях $Ax\geq b$, $x\geq 0.$

Пусть $c_0$ - это некоторые единичный вектор. Найдем вектор $x_0\geq 0$ такой, что $f(c_0)=c_0^T x_0,$ $Ax_0\geq b.$
Пусть $C = \{ c : |c|=1\ \mbox{и}\ f(c) = c^T x_0 \}.$ Требуется найти такой вектор $c_1\in C$, что $\max_{c\in C} f(c) = f(c_1).$

Так?

 Профиль  
                  
 
 
Сообщение28.10.2006, 14:37 


23/10/06
10
Давайте по-другому.
Определена функция $f(c,x)=c^Tx$, при ограничениях $Ax<=b,x>=0$, $c^Tc=1$.
Найдем такой $x_0$, что $f(c_0,x_0)=max f(c_0,x)$. Тогда вектору $x_0$ соответствует множество векторов $C$, для каждого члена $c_k$ этого множества $f(c_k,x_0)=max f(c_k,x)$. Или $C = \{ c^Tc=1  \mbox{ и}\ f(c,x_0)=max f(c,x) \}.$
Требуется найти $c_1$ , при условии $c_1 \in C $ , такой что $ f(c_1,x_0)=max f(c,x_0) \}.$

Рассмотрим 2-мерный случай.Проведем оси $X1$ и $X2$.
Ограничения-неравенства заданы двумя пересекающимися прямыми, т.е. определена матрица $A(2,2)$ и вектор $b$ . Для вектора $c_0$ точка пересечения прямых( вектор $x_0$ ) определяет максимум функции $f(c_0,x)$ .Теперь определим $C$.
Из начала координат проведем два вектора-строки матрицы $A(2,2)$ . Очевидно, что они ортональны соответствующим прямым.Эти два вектора ограничивают множество векторов $C$ , для которых $x_0$ есть решение ЗЛП. Вектор $c_0$ принадлежит этому множеству С , иначе задача не ограничена и $x_0$ не является решением ЗЛП.
Если $x_0$ принадлежит $C$ , то $c_1$ коллинеарен $x_0$.
Если $x_0$ не принадлежит $C$, то $c_1$ коллинеарен "ближайшему" вектору-строке.

 Профиль  
                  
 
 
Сообщение28.10.2006, 18:21 
Модератор
Аватара пользователя


11/01/06
5710
ishak писал(а):
Давайте по-другому.

Дык это то же самое, что я написал.

В этой задаче имеет смысл прежде всего перейти к дуальной задаче, т.е. от
$\left\{\begin{array}{l}\max c^T x\\
Ax \leq b\\
x\geq 0\end{array}\right.$
к
$\left\{\begin{array}{l}\min b^T y\\
A^T y \geq c\\
y\geq 0\end{array}\right.$

Мы знаем, что максимум в исходной задаче достигается на векторе $x_0$, поэтому мы можем считать, что $b^T y = c^T x_0$. Задача превращается в отыскание максимума
$\left\{\begin{array}{l}\max c^T x_0\\
A^T y - c \geq 0\\
b^T y = c^T x_0\\
y\geq 0\\
c^T c = 1\end{array}\right.$
где неизвестными являются векторы $y$ и $c$. К сожалению, последнее условие не является линейным, поэтому средствами линейного программирования эту задачу не решить. Придется привлекать методы квадратичного программирования.

 Профиль  
                  
 
 
Сообщение29.10.2006, 07:44 
Модератор
Аватара пользователя


11/01/06
5710
Алгоритм решения похожей задачи описан в статье:
Shang-Wang Chang. "A Programming Problem with a Linear Objective Function Having the Quadratic Constraints of the Form $\frac{1}{2}x' x + p' x \leq r$". Management Science, Vol. 23, No. 3. (Nov., 1976), pp. 324-331.

 Профиль  
                  
 
 
Сообщение29.10.2006, 11:10 


23/10/06
10
Спасибо за ответ и ссылку.
Теперь о $c^Tc=1$ :
maxal писал(а):
К сожалению, последнее условие не является линейным, поэтому средствами линейного программирования эту задачу не решить. Придется привлекать методы квадратичного программирования.

Не хотелось бы.
Нелинейности исчезают, если линейные ограничения введены и для $x$ и для $c$ в постановке задачи :
$\left\{\begin{array}{l}\max c^T x\\
Ax \leq b\\
x\geq 0\\
Dc \leq v\\
c\geq 0\end{array}\right.$
Придется ли тогда привлекать методы квадратичного программирования ?

 Профиль  
                  
 
 
Сообщение29.10.2006, 11:17 
Модератор
Аватара пользователя


11/01/06
5710
ishak писал(а):
Придется ли тогда привлекать методы квадратичного программирования ?

Ну если в качестве ответа нужен именно единичный вектор - то возникает квадратичное ограничение. Если такого требования нет или если единичность рассматривать не в евклидовой норме, а например в норме $l_1$, то получится ЗЛП.

 Профиль  
                  
 
 
Сообщение29.10.2006, 11:26 


23/10/06
10
Требование единичности снимается.
Фраза "получится ЗЛП" означает , что квадратичные методы не нужны и для решения подходит симплекс-метод ?

 Профиль  
                  
 
 
Сообщение29.10.2006, 12:03 
Модератор
Аватара пользователя


11/01/06
5710
Ну да. Решайте следующую ЗЛП относительно $c$ и $y$:
$\left\{\begin{array}{l}\max c^T x_0\\ A^T y - c \geq 0\\ b^T y = c^T x_0\\ y\geq 0\\ Dc\leq v\\ c\geq 0\end{array}\right.$
Найденный c - и будет искомым.

 Профиль  
                  
 
 
Сообщение29.10.2006, 12:38 


23/10/06
10
Согласен.
Если Вы согласны , рассмотрим уже другую задачу, где не задается $c_0$ и не ищется $x_0$.
Просто задана линейная функция и линейные ограничения для каждого из аргументов.
$\left\{\begin{array}{l}\max c^T x\\
Ax \leq b\\
x\geq 0\\
Dc \leq v\\
c\geq 0\end{array}\right.$
Сводится ли эта задача к классической ЗЛП ?
Придется ли привлекать методы квадратичного программирования для решения этой задачи ?

 Профиль  
                  
 
 Да
Сообщение29.10.2006, 14:22 


03/09/05
217
Bulgaria
Если неизвестные в Вашей задачи все $x_i$ и все $c_i$, то очевидно, что задача нелинейная, более конкретно - квадратическая, так как целевая функция содержит члены, которые --- произведения двух неизвестных. Ограничения --- линейны.

 Профиль  
                  
 
 
Сообщение29.10.2006, 16:23 


23/10/06
10
Спасибо.

 Профиль  
                  
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 12 ] 

Модераторы: Модераторы Математики, Супермодераторы



Кто сейчас на конференции

Сейчас этот форум просматривают: Geen, mihaild, Someone


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group