2014 dxdy logo

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

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


Правила форума


В этом разделе нельзя создавать новые темы.

Если Вы хотите задать новый вопрос, то не дописывайте его в существующую тему, а создайте новую в корневом разделе "Помогите решить/разобраться (М)".

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

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

Обязательно просмотрите тему Правила данного раздела, иначе Ваша тема может быть удалена или перемещена в Карантин, а Вы так и не узнаете, почему.



Начать новую тему Ответить на тему На страницу Пред.  1, 2, 3  След.
 
 Re: Задача по математическому программированию
Сообщение02.06.2015, 16:17 


24/02/15
49
Потому что при выборе одного ПП12 будут получены лишь функции E и K.

 Профиль  
                  
 
 Re: Задача по математическому программированию
Сообщение02.06.2015, 16:53 
Заслуженный участник


16/02/13
4183
Владивосток
Taurus в сообщении #1022803 писал(а):
лишь
А! То бишь, вы понимаете! Теперь запишите ваше понимание математически. Функции E и K будут получены, и это условие входит в условия задачи — как вы догадались? А раз «лишь», значит, какие-то функции не будут получены, и это не удовлетворяет задаче? Опять же, как вы догадались? И как это записать математически?
Ну же, вы всё, что нужно, знаете!

 Профиль  
                  
 
 Re: Задача по математическому программированию
Сообщение02.06.2015, 21:20 


24/02/15
49
Мне не представляется математическая запись условия наличия 8 функций из заданного списка. :? Какая-то принадлежность множеству...
Не вручную же все подходящие комбинации перебирать.

 Профиль  
                  
 
 Re: Задача по математическому программированию
Сообщение03.06.2015, 01:07 
Заслуженный участник


16/02/13
4183
Владивосток
А придётся. Напомню: задачу вам ставил не я :wink:
Подсказываю: вам необходимо наличие восьми функций. То бишь, первой; второй; третьей; ну и далее. Система из восьми условий.

 Профиль  
                  
 
 Re: Задача по математическому программированию
Сообщение03.06.2015, 19:08 


24/02/15
49
$A: x_1+x_6+x_8+x_{11}+x_{13}=1\\
C: x_2+x_5+x_9+x_{13}=1\\
E: x_1+x_3+x_{10 }+x_{12}=1\\
F: x_3+x_7+x_{10}=1\\
G: x_1+x_4+x_8+x_{11}=1\\
H: x_2+x_3+x_8+x_{13}=1\\
I: x_4+x_9+x_{10}+x_{11}=1\\
K: x_5+x_6+x_7+x_{12}=1$

 Профиль  
                  
 
 Re: Задача по математическому программированию
Сообщение04.06.2015, 00:53 
Заслуженный участник


16/02/13
4183
Владивосток
Ну, там везде $\geq$, не равенства. Не факт, что удастся обойтись без дублирования функций. Ну и полагаюсь на вашу аккуратность, проверять индексы не стану. В принципе, да, так выглядят условия из основной задачи.

 Профиль  
                  
 
 Re: Задача по математическому программированию
Сообщение05.06.2015, 11:26 


24/02/15
49
В общем, оптимальное решение начальной задачи: 122 при выборе продуктов 1, 2, 10, 12.
С условиями из а ничего не меняется.
С условиями б: 227 при 3, 7, 11, 13.
Для в ответ не меняется.
Для первой части условий г ответ не меняется, для второй: 140 при 1, 3, 9, 12.

Осталось разобраться с д.

 Профиль  
                  
 
 Re: Задача по математическому программированию
Сообщение05.06.2015, 13:28 
Заслуженный участник


16/02/13
4183
Владивосток
Taurus в сообщении #1023588 писал(а):
С условиями б: 227 при 3, 7, 11, 13
Не, что-то вы не так решили. Изначальное решение удовлетворяет условию б.
Taurus в сообщении #1023588 писал(а):
Для первой части условий г ответ не меняется, для второй: 140 при 1, 3, 9, 12
Последнего шага не сделали. Посчитали для первой части, посчитали для второй — и из них двоих выбираем оптимальный, то бишь, опять же, изначальное решение. Собственно, вторую часть можно было не решать: если изначальное, самое оптимальное удовлетворяет первой части, для второй оно лучше не станет.
Taurus в сообщении #1023588 писал(а):
Осталось разобраться с д
iifat в сообщении #1021947 писал(а):
Крутится в голове что-то типа решить задачу, зафиксировать x в 1, добавить условие «целевая функция меньше (больше) найденного значения», в качестве целевой взять цену и максимизировать
В принципе, думаю, так и нужно. По крайней мере, можно: подставляем в ограничения вместо соответствующего $x$ 1; добавляем ограничение «целевая функция с соответствующим $x$ заменнным на 1, а соответствующей ценой на $y$ не более 122», в качестве целевой функции берём $y$ (уго будем максимизировать) и решаем смешанную целочисленную задачу, точнее, смешанную булеву, где $x_i$ булевы (0 либо 1), а $y$ — действительный.

 Профиль  
                  
 
 Re: Задача по математическому программированию
Сообщение06.06.2015, 12:44 


24/02/15
49
iifat в сообщении #1023624 писал(а):
Не, что-то вы не так решили. Изначальное решение удовлетворяет условию б.
Ну, если отталкиваться от того, что в оптимальном решении $x_3$ из условия б не участвует, то да, ответ будет таким же, как и в решении начальной задачи.
Просто я включил $x_3$, а, следовательно, требуемые к нему $x_7$ и $x_{13}$, тогда и получил 227. Значит это было лишним.

По скидке.
К примеру, я хочу узнать при какой скидке войдёт 6-й ПП. Я пишу целевую функцию без участия $30x_6$: $L=37x_1+18x_2+55x_3+64x_4+22x_5+70x_7+57x_8+29x_9+48x_{10}+60x_{11}+19x_{12}+42x_{13}\to \max$
, а в условиях
$x_6=1$
и
$37x_1+18x_2+55x_3+64x_4+22x_5+30x_6+70x_7+57x_8+29x_9+48x_{10}+60x_{11}+19x_{12}+42x_{13}<122$
После таких действий я получаю ответ $92$. То есть $122-92=30$, что и будет скидкой, совпадающей с ценой 6-го ПП. Так?

 Профиль  
                  
 
 Re: Задача по математическому программированию
Сообщение06.06.2015, 13:29 
Заслуженный участник


16/02/13
4183
Владивосток
Taurus в сообщении #1023933 писал(а):
это было лишним
Не нравится мне такая формулировка. Либо вы неудачно подобрали слова, либо не поняли, что такое «при установке ПП3 необходимы ПП7 и ПП13». На случай второго варианта, поясню: эти слова на математическом языке означают, что включение ПП3 требует ПП7 и ПП13; невключение ПП3 требует ничего. От слова «абсолютно».
Taurus в сообщении #1023933 писал(а):
По скидке
Опять не понял. Либо вы приняли мой способ решения и последовали ему крайне неудачно (от того же слова), либо вы придумали свой, и тогда я его не понимаю.

 Профиль  
                  
 
 Re: Задача по математическому программированию
Сообщение06.06.2015, 13:39 


24/02/15
49
Про 3, 7, 11 я так и понял.

Вариант со скидкой - это то, как у меня сейчас вышло записать в LINDO. По-другому пока не получилось.

 Профиль  
                  
 
 Re: Задача по математическому программированию
Сообщение06.06.2015, 16:02 
Заслуженный участник


16/02/13
4183
Владивосток
Как-то печально это всё звучит. Не знаю, что такое LINDO, но аргумент «так у меня вышло записать в...» — это, ну, не знаю, представьте себе: берёте в хлебном магазине две булки хлеба, а вам говорят — 128 рублей. А на вопрос: «Почему?» отвечают: «Ну, так у меня вышло вбить в калькулятор»

 Профиль  
                  
 
 Re: Задача по математическому программированию
Сообщение06.06.2015, 16:05 


24/02/15
49
iifat в сообщении #1023624 писал(а):
подставляем в ограничения вместо соответствующего $x$ 1; добавляем ограничение «целевая функция с соответствующим $x$ заменнным на 1, а соответствующей ценой на $y$ не более 122», в качестве целевой функции берём $y$ (уго будем максимизировать)
То есть на примере $x_6$ надо поменять условия с этой переменной (первые два)?
$x_1+x_8+x_{11}+x_{13}\geqslant 0\\ x_5+x_7+x_{12}\geqslant 0\\ x_2+x_5+x_9+x_{13}\geqslant 1\\ x_1+x_3+x_{10 }+x_{12}\geqslant 1\\ x_3+x_7+x_{10}\geqslant 1\\ x_1+x_4+x_8+x_{11}\geqslant 1\\ x_2+x_3+x_8+x_{13}\geqslant 1\\ x_4+x_9+x_{10}+x_{11}\geqslant 1$
Записать условие на сумму (без $x_6$)
$37x_1+18x_2+55x_3+64x_4+22x_5+70x_7+57x_8+29x_9+48x_{10}+60x_{11}+19x_{12}+42x_{13}\leqslant 122$
И взять целевую функцию
$37x_1+18x_2+55x_3+64x_4+22x_5+30x_6+70x_7+57x_8+29x_9+48x_{10}+60x_{11}+19x_{12}+42x_{13}\to \max$
?
Так я получаю 152.

 Профиль  
                  
 
 Re: Задача по математическому программированию
Сообщение06.06.2015, 16:28 
Заслуженный участник


16/02/13
4183
Владивосток
Taurus в сообщении #1023992 писал(а):
То есть на примере $x_6$ надо поменять условия с этой переменной (первые два)?
Именно. После этого первые два неравенства можно вычеркнуть — они ничего не добавляют к задаче (резонно: раз уж мы твёрдо решили покупать ПП6, который закрывает функции A и K, соответствующие ограничения нам не нужны).
Taurus в сообщении #1023992 писал(а):
Записать условие на сумму
Прошу прощения, но что именно оказалось непонятным во фразе «целевая функция с соответствующим $x$ заменнным на 1, а соответствующей ценой на $y$»? И в следующей за ней «в качестве целевой функции берём $y$ (уго будем максимизировать)»? Да, там описка — «его будем максимизировать», признаю.

 Профиль  
                  
 
 Re: Задача по математическому программированию
Сообщение06.06.2015, 17:12 


24/02/15
49
Я понял, что $30x_6$ заменяется на $y\cdot1$.
$37x_1+18x_2+55x_3+64x_4+22x_5+y+70x_7+57x_8+29x_9+48x_{10}+60x_{11}+19x_{12}+42x_{13}\leqslant 122$
iifat в сообщении #1023624 писал(а):
в качестве целевой функции берём $y$
$y$ выразить из предыдущего неравенства?
$y = -37x_1-18x_2-55x_3-64x_4-22x_5-70x_7-57x_8-29x_9-48x_{10}-60x_{11}-19x_{12}-42x_{13}$

 Профиль  
                  
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 37 ]  На страницу Пред.  1, 2, 3  След.

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



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

Сейчас этот форум просматривают: нет зарегистрированных пользователей


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

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