2014 dxdy logo

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

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




На страницу 1, 2  След.
 
 Линейная задача на отыскание минимума. lPSolve IDE
Сообщение20.01.2011, 19:27 
Аватара пользователя
Кто работал с программой 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 
Аватара пользователя
Вы не написали, как именно не выходит -- ошибка выдается, а может, не тот минимум находится. Может быть много причин. Например, у Вас в 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 
Аватара пользователя
Ошибка - неправильно находит минимум.
в с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 
Аватара пользователя
То есть вообще все переменные целые?
Еще, пожалуйста, напишите, какой у Вас минимум выдается.
Я никогда не работал с LP Solve. Я попробую найти минимум своими способами, если получится то же, что у Вас -- значит, ни Вы, ни программа не виноваты (а просто ответ 11 не соответствует условию).

 
 
 
 Re: Помогите разобраться
Сообщение22.01.2011, 09:02 
Аватара пользователя
результат выходит:
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 
Во-первых, нужно прекратить употреблять запрещенные препараты.
Во-вторых, задача вообще не имеет решения.
* Из ограничения 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 
Аватара пользователя
Если переменные целые, то, как показал mserg, решений нет.
Если же такого ограничения нет (а Ваша программа, судя по результату, так и считала), то ответ: 6. Я проверил это своим методом.
При этом r1=0, y1=0, для остальных возможны варианты.

 
 
 
 Re: Линейная задача на отыскание минимума. lPSolve IDE
Сообщение23.01.2011, 10:58 
Аватара пользователя
Блин, есть решение и она показано в книжке. все так же решено. но, у меня не выходит :twisted: , но результат вполне адекватный.
может загвозка в настройках опций программы LPSolve.
откликнитесь, пожалуйста, кто работал с этой программой :wink:

 
 
 
 Re: Линейная задача на отыскание минимума. lPSolve IDE
Сообщение23.01.2011, 12:45 
Вам два человека говорят, что приведенная на форуме задача не имеет решения. Либо задача набрана неправильно, либо в книжке опечатка. Проблема не в LpSolve.
Ошибку можно найти так: взять ответ из книжки и подставлять в ограничения. Кстати, какой там ответ в книжке?

 
 
 
 Re: Линейная задача на отыскание минимума. lPSolve IDE
Сообщение23.01.2011, 14:41 
Аватара пользователя
ответ в книге
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 
Ну, подставьте эти значения в ограничение c9.

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

 
 
 
 Re: Линейная задача на отыскание минимума. lPSolve IDE
Сообщение24.01.2011, 18:48 
Аватара пользователя
Если допускать только целые значения, решения при данных ограничениях нет вообще.
По-другому: если кто-то приведет "решение", он при этом нарушит одно или несколько ограничений.

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

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

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

 
 
 [ Сообщений: 16 ]  На страницу 1, 2  След.


Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group