2014 dxdy logo

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

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




Начать новую тему Ответить на тему На страницу 1, 2  След.
 
 Линейная задача на отыскание минимума. lPSolve IDE
Сообщение20.01.2011, 19:27 
Аватара пользователя


20/01/11
12
Кто работал с программой lPSolve IDE.
я туда забила следующий текст
min: y;

c1: x1 + 6 r1 + 8 - 8 r1 <= 10;
c2: x2 + 5 r2 + 8 - 8 r2 <= 10;
c3: x3 + 2 r3 + 11 - 11 r3 <= 10;
c4: y1 + 8 r1 + 6 - 6 r1 <= y;
c5: y2 + 8 r2 + 5 - 5 r2 <= y;
c6: y3 + 11 r3 + 2 - 2 r3 <= y;

c7: x1 + 6 r1 + 8 - 8 r1 <= x2 + 27 p12 + 27 q12;
c8: y1 + 8 r1 + 6 - 6 r1 <= y2 + 27 + 27 p12 - 27 q12;
c9: x1 - 5 r2 - 8 + 8 r2 >= x2 - 27 + 27 p12 + 27 q12;
c10: y1 - 8 r2 - 5 + 5 r2 >= y2 - 54 + 27 p12 + 27 q12;

c11: x1 + 6 r1 + 8 - 8 r1 <= x3 + 27 p13 + 27 q13;
c12: y1 + 8 r1 + 6 - 6 r1 <= y3 + 27 + 27 p13 - 27 q13;
c13: x1 - 2 r3 - 11 + 11 r3 >= x3 - 27 + 27 p13 + 27 q13;
c14: y1 - 11 r3 - 2 +2 r3 >= y3 - 54 +27 p13 + 27 q13;

c15: x2 + 5 r2 + 8 - 8 r2 <= x3 + 27 p23 + 27 q 23;
c16: y2 + 8 r2 + 5 - 5 r2 <= y3 + 27 + 27 p23 -27 q23;
c17: x2 - 2 r3 - 11 + 11 r3 >= x3 - 27 +27 p23 + 27 q23;
c18: y2 - 11 r3 - 2 + 2 r3 >= y3 - 54 + 27 p23 + 27 q23;

r1 <= 1;
r2 <= 1;
r3 <= 1;
p12 <= 1;
q12 <= 1;
p13 <= 1;
q13 <= 1;
p23 <= 1;
q23 <= 1;

int r1, r2, r3, p12, q12, p13, q13, p23, q23;

в ответе минимальное значение у, должно получиться 11, а не выходит?

-- Чт янв 20, 2011 19:28:01 --

линейная задача, на отыскание минимума

 Профиль  
                  
 
 Re: Помогите разобраться
Сообщение21.01.2011, 19:35 
Заслуженный участник
Аватара пользователя


23/07/08
10910
Crna Gora
Вы не написали, как именно не выходит -- ошибка выдается, а может, не тот минимум находится. Может быть много причин. Например, у Вас в c15 написано q 23, а надо без пробела. Вы уверены, что int r1, r2, r3, p12, q12, p13, q13, p23, q23 -- это же значит, что они целые? В программе ничего не сказано про x1, x2, x3, y1, y2, y3 -- что это значит, что они могут быть по всей числовой прямой? Если нижняя граница не указана, что подразумевается -- 0 или минус бесконечность?

 Профиль  
                  
 
 Re: Помогите разобраться
Сообщение21.01.2011, 20:22 
Аватара пользователя


20/01/11
12
Ошибка - неправильно находит минимум.
в с15. я исправила ошибку, но все равно показывает такие же результаты.
переменные r1, r2, r3, p12, q12, p13, q13, p23, q23 - они могут принимать значения только 0 или 1.
x1, x2, x3, y1, y2, y3 - могут быть различные, но только целые и положительные.

-- Пт янв 21, 2011 20:35:12 --

результат выходит
хотела загрузить отрывок, но не могу вставить картинку :x

-- Пт янв 21, 2011 20:54:58 --

aikunuka в сообщении #402809 писал(а):
Ошибка - неправильно находит минимум.
в с15. я исправила ошибку, но все равно показывает такие же результаты.
переменные r1, r2, r3, p12, q12, p13, q13, p23, q23 - они могут принимать значения только 0 или 1.
x1, x2, x3, y1, y2, y3 - могут быть различные, но только целые и положительные.

-- Пт янв 21, 2011 20:35:12 --
[img]C:\Documents%20and%20Settings\Admin\Рабочий%20стол\12.bmp[/img]
результат выходит
хотела загрузить отрывок, но не могу вставить картинку :x

 Профиль  
                  
 
 Re: Помогите разобраться
Сообщение22.01.2011, 01:12 
Заслуженный участник
Аватара пользователя


23/07/08
10910
Crna Gora
То есть вообще все переменные целые?
Еще, пожалуйста, напишите, какой у Вас минимум выдается.
Я никогда не работал с LP Solve. Я попробую найти минимум своими способами, если получится то же, что у Вас -- значит, ни Вы, ни программа не виноваты (а просто ответ 11 не соответствует условию).

 Профиль  
                  
 
 Re: Помогите разобраться
Сообщение22.01.2011, 09:02 
Аватара пользователя


20/01/11
12
результат выходит:
y=6
x1=0
r1=0
x2=2
r2=0
x3=3
r3=0,444...
y1=0
y2=0
y3=0
p12=0,222
q12=0
p13=0,185...
q13=0
p23=0,259...
q23=0

-- Сб янв 22, 2011 09:05:33 --

Если рассуждать аналитическим способом, то 11 вполне правильный ответ. а 6 вообще никак не подходит. и переменные r3, p12, p13, p23 должны быть или 0 или 1. :cry:

 Профиль  
                  
 
 Re: Линейная задача на отыскание минимума. lPSolve IDE
Сообщение22.01.2011, 15:42 


17/10/08

1313
Во-первых, нужно прекратить употреблять запрещенные препараты.
Во-вторых, задача вообще не имеет решения.
* Из ограничения c1 следует, что 0<=x1<=4
* Из ограничения c2 следует, что 0<=x2<=5
* Из ограничения c9 следует, что p12=0 и q12=0
* Из ограничения c7 следует, что решений нет.
Да и само описание подозрительно:
* В ограничениях одни и те же переменные встречаются несколько раз. Например, переменная r1 дважды входит в c1
* Свободные члены встречаются дважды, например в c1.

Видимо, Вами решается релаксационная задача (без учета целочисленности переменных)

 Профиль  
                  
 
 Re: Линейная задача на отыскание минимума. lPSolve IDE
Сообщение23.01.2011, 02:50 
Заслуженный участник
Аватара пользователя


23/07/08
10910
Crna Gora
Если переменные целые, то, как показал mserg, решений нет.
Если же такого ограничения нет (а Ваша программа, судя по результату, так и считала), то ответ: 6. Я проверил это своим методом.
При этом r1=0, y1=0, для остальных возможны варианты.

 Профиль  
                  
 
 Re: Линейная задача на отыскание минимума. lPSolve IDE
Сообщение23.01.2011, 10:58 
Аватара пользователя


20/01/11
12
Блин, есть решение и она показано в книжке. все так же решено. но, у меня не выходит :twisted: , но результат вполне адекватный.
может загвозка в настройках опций программы LPSolve.
откликнитесь, пожалуйста, кто работал с этой программой :wink:

 Профиль  
                  
 
 Re: Линейная задача на отыскание минимума. lPSolve IDE
Сообщение23.01.2011, 12:45 


17/10/08

1313
Вам два человека говорят, что приведенная на форуме задача не имеет решения. Либо задача набрана неправильно, либо в книжке опечатка. Проблема не в LpSolve.
Ошибку можно найти так: взять ответ из книжки и подставлять в ограничения. Кстати, какой там ответ в книжке?

 Профиль  
                  
 
 Re: Линейная задача на отыскание минимума. lPSolve IDE
Сообщение23.01.2011, 14:41 
Аватара пользователя


20/01/11
12
ответ в книге
y=11
x1=0
r1=0
x2=0
r2=0
x3=8
r3=1
y1=5
y2=0
y3=0
p12=1
q12=1
p13=0
q13=0
p23=0
q23=0

 Профиль  
                  
 
 Re: Линейная задача на отыскание минимума. lPSolve IDE
Сообщение23.01.2011, 16:54 


17/10/08

1313
Ну, подставьте эти значения в ограничение c9.

 Профиль  
                  
 
 Re: Линейная задача на отыскание минимума. lPSolve IDE
Сообщение23.01.2011, 17:52 
Аватара пользователя


20/01/11
12
да, спасибо. я это тоже заметила.а вы можете написать кроме 6, еще какие ответы у вас получились?

 Профиль  
                  
 
 Re: Линейная задача на отыскание минимума. lPSolve IDE
Сообщение24.01.2011, 18:48 
Заслуженный участник
Аватара пользователя


23/07/08
10910
Crna Gora
Если допускать только целые значения, решения при данных ограничениях нет вообще.
По-другому: если кто-то приведет "решение", он при этом нарушит одно или несколько ограничений.

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

 Профиль  
                  
 
 Re: Линейная задача на отыскание минимума. lPSolve IDE
Сообщение24.01.2011, 18:59 
Аватара пользователя


20/01/11
12
Спасибо за Отзыв!!!

 Профиль  
                  
 
 Re: Линейная задача на отыскание минимума. lPSolve IDE
Сообщение27.01.2011, 10:42 
Супермодератор
Аватара пользователя


29/07/05
8248
Москва
 i  Тема перемещается из математического раздела в Околонаучный софт

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

Модераторы: Karan, Toucan, PAV, maxal, Супермодераторы



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

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


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

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