Сравнение времени выполнения

Форум пользователей пакета Maple

Модератор: Admin

Markiyan Hirnyk
Сообщения: 1248
Зарегистрирован: Вс дек 04, 2011 11:07 pm

Сравнение времени выполнения

Сообщение Markiyan Hirnyk » Чт ноя 22, 2018 11:39 pm

Сравним, за какое время решают систему линейных неравенств Мэйпл и Математика:

Код: Выделить всё

restart; inequalities := [-a1-a2+a3+a4 <= 2, a1+a2 <= 3, -2*a1 <= -1, -2*a2 <= -1, -2*a3 <= -1, -2*a4 <= -1, -a1+a2+a3-a4 <= 4, -a1+a2-a3+a4 <= 4, a1-a2+a3-a4 <= 4, a1-a2-a3+a4 <= 4]:
CodeTools:-Usage(solve(inequalities));

memory used=54.38GiB, alloc change=1.05GiB, cpu time=25.43m, real time=27.66m, gc time=4.28m
{a1 = 3/2, 1/2 <= a2, 1/2 <= a3, 1/2 <= a4, a2 <= 3/2, a3 <= a2+3, a4 <= -a3+7/2+a2}, {a2 = 3/2, 1/2 <= a1, 1/2 <= a3, 1/2 <= a4, a3 <= a1+3, a4 <= -a3+a1+7/2, a1 < 3/2}, {1/2 <= a2, 1/2 <= a3, 1/2 <= a4, a1 <= 5/2, a2 <= 3-a1, a4 <= 4-a1+a2+a3, 3/2 < a1, a3 < a1-1}, {1/2 <= a2, 1/2 <= a4, a1 <= 5/2, a2 <= 3-a1, a3 <= -a1+a2+9/2, a4 <= -a3+a1+a2+2, a1-1 <= a3, 3/2 < a1}, {1/2 <= a1, 1/2 <= a4, a2 <= 3-a1, a3 <= a1-a2+9/2, a4 <= -a3+a1+a2+2, a2-1 <= a3, 3/2 < a2, a1 < 3/2}, {1/2 <= a1, 1/2 <= a2, 1/2 <= a3, 1/2 <= a4, a2 <= a1, a3 <= a1+a2+3/2, a4 <= -a3+a1+a2+2, a1 < 3/2}, {1/2 <= a1, 1/2 <= a3, 1/2 <= a4, a3 <= a1+a2+3/2, a4 <= -a3+a1+a2+2, a1 < 3/2, a1 < a2, a2 < 3/2}, {1/2 <= a1, 1/2 <= a3, 1/2 <= a4, a2 <= 3-a1, a4 <= a3+a1-a2+4, 3/2 < a2, a1 < 3/2, a3 < a2-1}, {1/2 <= a2, a1 <= 5/2, a2 <= 3-a1, a3 <= a2+3, a4 <= -a3+a1+a2+2, -4+a1-a2+a3 <= a4, 3/2 < a1, -a1+a2+9/2 < a3}, {1/2 <= a1, a2 <= 3-a1, a3 <= a1+3, a4 <= -a3+a1+a2+2, a3-a1+a2-4 <= a4, 3/2 < a2, a1 < 3/2, a1-a2+9/2 < a3}



Код: Выделить всё


Reduce[{-a1 - a2 + a3 + a4 <= 2,    a1 + a2 <=    3, -2*a1 <= -1, -2*a2 <= -1, -2*a3 <= -1, -2*a4 <= -1, -a1 + a2 +
     a3 - a4 <= 4, -a1 + a2 - a3 + a4 <= 4, a1 - a2 + a3 - a4 <= 4,   a1 - a2 - a3 + a4 <= 4}, {a1, a2, a3, a4}] // Timing
 
  {0.703125,(1/2<=a1<=3/2&&((1/2<=a2<=3/2&&((1/2<=a3<1/2 (3+2 a1+2 a2)&&1/2<=a4<=2+a1+a2-a3)||(a3==1/2 (3+2 a1+2 a2)&&a4==1/2)))||(3/2<a2<=3-a1&&((1/2<=a3<-1+a2&&1/2<=a4<=4+a1-a2+a3)||(-1+a2<=a3<=1/2 (9+2 a1-2 a2)&&1/2<=a4<=2+a1+a2-a3)||(1/2 (9+2 a1-2 a2)<a3<3+a1&&-4-a1+a2+a3<=a4<=2+a1+a2-a3)||(a3==3+a1&&a4==2+a1+a2-a3)))))||(3/2<a1<5/2&&1/2<=a2<=3-a1&&((1/2<=a3<-1+a1&&1/2<=a4<=4-a1+a2+a3)||(-1+a1<=a3<=1/2 (9-2 a1+2 a2)&&1/2<=a4<=2+a1+a2-a3)||(1/2 (9-2 a1+2 a2)<a3<3+a2&&-4+a1-a2+a3<=a4<=2+a1+a2-a3)||(a3==3+a2&&a4==2+a1+a2-a3)))||(a1==5/2&&a2==1/2&&((1/2<=a3<3/2&&1/2<=a4<=2+a3)||(3/2<=a3<=5/2&&1/2<=a4<=5-a3)||(5/2<a3<7/2&&-2+a3<=a4<=5-a3)||(a3==7/2&&a4==3/2)))}   
     

Как видим, ММА быстрее в 27.66*60/.703125 = 2360.320000 раз, чем Мэйпл.