2014 dxdy logo

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

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


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


Посмотреть правила форума



Начать новую тему Ответить на тему
 
 min{Ax+By : Cx=Dy mod M, x,y > 0}
Сообщение25.02.2017, 01:53 


23/10/10
89
Всем привет. Да, такая вот простая с виду задача - найти

$\min\{Ax + By : Cx \equiv Dy \bmod M, x,y > 0\}$


при заданных целых положительных $A, B, C, D, M$ (значения $x, y$ тоже предполагаются целыми).

То, что её можно пытаться решать как задачу целочисленного линейного программирования (пусть и очень простую), понятно. Мне это показалось было стрельбой из пушки по воробьям, но попытавшись пойти напролом (см. ниже), я уже начал сомневаться...

Мой путь решения оказался таким. Во-первых, $A$ и $B$ можно считать взаимно простыми и найти $X,Y$ такие, что $AX - BY = 1, 0 < X < B, 0 < Y < A$. Пусть теперь $u = Ax + By, v = Yx + Xy$, тогда мы ищем

$\min\left\{u : (CX + DY)u \equiv (AD + BC)v \bmod M, \displaystyle\frac{Y}{A} < \displaystyle\frac{v}{u} < \displaystyle\frac{X}{B}\right\}$


(значения $u, v$ считаются целыми положительными). Далее, целые решения $u, v$ сравнения $Uu \equiv Vv \bmod M$ имеют вид

$u = \displaystyle\frac{(V,M)\alpha}{(U,V,M)}, v = \displaystyle\frac{UW\alpha}{(U,V)} + \displaystyle\frac{M\beta}{(V,M)},
W = \left(\displaystyle\frac{V(U,V,M)}{(U,V)(V,M)}\right)^{-1} \bmod \displaystyle\frac{M(U,V,M)}{(U,M)(V,M)},$


где $\alpha, \beta$ - произвольные целые, а выражения вида $(U,V,W)$ обозначают наибольший общий делитель (вроде, не напортачил).

В итоге получается задача минимизации $\alpha$ при ограничении вида $\displaystyle\frac{\beta_1}{\alpha_1} < \displaystyle\frac{\beta}{\alpha} < \displaystyle\frac{\beta_2}{\alpha_2}$. То есть (ещё одна, учитывая предыдущее) вариация алгоритма Евклида.

Вопрос напрашивается. Так и ломиться? Или назад в ЦЛП? Или, может, упростить можно...

P.S. Всякие граничные случаи я рассматривать не стал, и так текста многовато.

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

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



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

Сейчас этот форум просматривают: ohart


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

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