Работя върху Python пакет за изчисленияняколко NP-Hard инварианти на графиката. Текущата версия на пакета използва груба сила за почти всички алгоритми, но аз съм много заинтересован да използвам целочислено програмиране, за да ускоря изчисленията за по-големи графики.
Например, проста целочислена програма за решаване на номера на независимостта на n-вертексната графика е да се максимизира предвид ограниченията , където .
Как да разреша това с помощта на PuLP? PuLP е най-добрият ми вариант, или би било полезно да се използват solvers на друг език, като Джулия, и интерфейс може да пакетира с тях?
Отговори:
0 за отговор № 1Не предлагам да напишете пълното си изпълнение за вас, а да разгледате последния въпрос за PuLP в сравнение с други езици.
PuLP осигурява Python обвивка върху редица съществуващи LP Solvers.
След като зададете проблема си със синтаксис на Python, той го преобразува вътрешно в друг език (напр. Можете да запазите .lp
файлове и да ги инспектира) и ги предава на някое от редица решатели на трети страни, които обикновено не са написани на Python.
Така че няма нужда да се учи друг език, за да се постигне по-добро решение.