В настоящее время ни один из методов Сципи не позволяет применять динамические границы. Вы можете сделать нестандартное расширение для scipy.optimize.minimize
или fsolve
или реализовать свой собственный оптимизатор с динамическими границами.
Теперь о том, стоит ли делать это: быть ортогонально независимым. Если границы изменяются в зависимости от других проектных переменных, то проблема не является ортогонально независимой.
Существуют части CL ANSI, которые оставляют определенные детали до реализаций для определения; Вы найдете, что для тех частей стандарта, каждая реализация будет иметь свои собственные причуды.
кроме того, ищите вещи, которые важны для времени выполнения, но не определенные на языке: вещи как поточная обработка и многопроцессорная и сборка "мусора" будут варьироваться существенно по производительности и надежности.
я нашел, что SBCL самая легкая реализация для работы с в Linux; это имеет хорошую поддержку поточной обработки в Linux. Я не могу сказать многое о сборщике "мусора", потому что он очень еще не имел значения для меня.
В Windows, Вашим лучшим выбором, вероятно, будет Allegro или LispWorks, хотя я имел некоторый успех с clisp в Windows. Порт Windows SBCL прогрессирует, но я не использовал его очень, таким образом, я не могу действительно прокомментировать.
Вообще говоря, понимание этих видов вещей, которые трудно получить посредством исследования или анализа; это проникает через опыт. Просто выберите достойную реализацию, что Вы довольны и взялись за работу. Вы выясните хитрый материал, когда Вы идете.
См. реализации языка Common LISP: обзор Daniel Weinreb.
Если Вы находитесь на машине, которая может выполнить SBCL, необходимо использовать его. Это - самый быстрый бесплатный компилятор Lisp (это может сгенерировать код, который является с такой скоростью, как Haskell, OCaml, Java, C, и C++, которые все очень очень быстры, особенно по сравнению с Python и Ruby). Это также - довольно полноценное внедрение и поддерживает большинство функций Чванства (для СЛИЗИ), который хорош, когда Вы разрабатываете.
Как часть другого упоминания комментариев, Вы действительно не заметите различий, когда Вы сначала начнете. Все бесплатные реализации CL "достаточно быстры" и поддерживают все функции, в которых Вы будете нуждаться. Но если Вы начнете писать производственное программное обеспечение, то Вы будете ценить функции SBCL. OTOH, нет действительно никакой причины не переключиться теперь.
Я не знаю достаточно, чтобы дать Вам подробный ответ, но я заметил, что SBCL был значительно быстрее затем Clisp, когда я работал с CL для своего класса AI. Если у Вас нет неопровержимого довода не к, я предложил бы идти с SBCL.
я услышал, что Clisp легче установить и является более портативным, чем SBCL (который имеет большую определенную для процессора оптимизацию), но если Вы используете Linux, их оба достаточно легко выбрать от диспетчера пакетов.
Я обнаружил, что сообщения об ошибках в clisp более дружелюбны и помогают быстрее найти проблему.
Зависит от Вашей предпочтительной ОС
или ecl:
Sbcl на окнах испытывает недостаток в поточной обработке и, в целом не настолько стабилен, и ни один из базовых специалистов по обслуживанию не использует окна.
ecl является намного лучшим выбором для кросс-платформенного, шепелявит, его набор функций одинаково стабилен на всех основных платформах.
РЕДАКТИРОВАНИЕ 2011-10: окна Sbcl теперь имеют поддержку поточной обработки. Это полностью еще не объединяется в mainiline, но существует ветвление, которое довольно стабильно, которые имеют поточную обработку и другой Windows определенные положительные герои.
Мне очень повезло с установкой clisp с помощью cygwin , если вы находитесь под Windows.