Sign in to follow this  
Аюпа

Академические реквесты

Recommended Posts

Я знаю, что вероятность небольшая, но все же... Есть здесь кто-нибудь, кто знает AMPL на более-менее хорошем уровне? Есть один вопрос, на который не могу найти ответа в мануалах...

Share this post


Link to post
Share on other sites
AMPL

Просто из интереса погуглил что это такое. Кажется, мне очень нужна эта штука: есть ли какой-нибудь хороший самоучитель по ней? На русском и/или английском.

Share this post


Link to post
Share on other sites
Просто из интереса погуглил что это такое. Кажется, мне очень нужна эта штука: есть ли какой-нибудь хороший самоучитель по ней? На русском и/или английском.

Да, есть официальный мануал: http://www.ampl.com/BOOK/download.html Вроде бы хороший.

J.Snow шарит, на форуме инактив. Пиши, передам.

Окей, спасибо. Вообщем мне надо решить задачу связанную со смешиванием каких-либо веществ и получением разных типов смесей с разной стоимостью ингредиентов и так далее, в целом все стандартно.

Проблема в том, что рецепты смешивания включают в себя переменные, оптимальное значение которых надо найти. Лучше я приведу вкратце саму задачу, чтобы было понятно, о чем я.

Есть 4 ингредиента: A, B, C, D и 3 смеси: 1, 2, 3.

Рецепты смесей такие:

1. (A+B)<=50%, C>=10%, D без лимита

2. (A+B)<=60%, C>=10%, (C+D)<=(A+B)

3. A>=20%, (C+D)>=0.5*(A+B)

Еще там есть максимальное доступное количество ингредиентов и необходимое для получение количество смеси, но это тривиальные ограничения. Необходимо сделать минимальной общую стоимость всех ингредиентов и смешивания.

Моя проблема заключается в ограничениях (C+D)<=(A+B) и (C+D)>=0.5*(A+B). Я не знаю как их сделать "общими" для разных ситуаций.

В данный момент я просто тупо вбил в один файл и модель, и данные. Переменные я обозначил как Xa1, Xa2, ..., Xd2, Xd3, каждая из них обозначает количество ингредиента обозначенного буквой в смеси обозначенной числом. Эти ограничения в данный момент выглядят как:

subject to restriction1:
Xc2 + Xd2 <= Xa2 + Xb2;
subject to restriction2:
Xc3 + Xd3 >= 0.5*(Xa3 + Xb3);

Сама модель работает, но я не знаю каким образом можно разделить эту модель и данные. Смысл в том, что у меня должна быть общая модель в которую можно отправить данные с N ингредиентами для M смесей и чтобы эти правила типа (C+D)<=(A+B) были в данных, а не в модели.

Могу написать задачу целиком и залить мою модель, если нужно больше инфы.

Share this post


Link to post
Share on other sites

Окей, у меня еще нет ответа на мой вопрос, но после второго взгляда на проблему, я увидел пару вещей, которые раньше я просмотрел...

Проблема не в том, где находятся переменные, потому что выражение типа Xc2 + Xd2 <= Xa2 + Xb2 всегда можно переформулировать как Xc2 + Xd2 - Xa2 - Xb2 <= 0, проблема в том, что каждая новая смесь в моем случае может принести совершенно разный рецепт ее приготовления, то есть совершенно другие ограничения. Во всех мануалах обычно в примерах различия между смесями заключаются только в количестве отдельного ингредиента в составе смеси (или количестве какой-то характеристики, которую дает ингредиент), но сами формулы везде одинаковые. В моем же случае каждая смесь совершенно отличается от другой, например во второй есть формула вида Xc2 + Xd2 - Xa2 - Xb2 <= 0, а в третьей Xc3 + Xd3 - 0.5*(Xa3 + Xb3) >= 0.

Причем в теории каждая новая смесь может добавить и новое ограничение, например какое-нибудь (A + B) >= 0.5*(C + D) + 0.25*(E + F). Насколько я понимаю, привести к общей модели такую ситуацию невозможно в принципе, то есть для каждого нового типа смеси нужно будет идти в файл с моделью и добавлять в него ограничения.

Интересно, прав я или нет?

Share this post


Link to post
Share on other sites

Категорически требуется информация о полете тел простых геометрических форм по баллистичской траектории.

Условия

Скорости порядка нескольких метров в секунду, расстояния порядка нескольких метров. Форма - прямоугольный параллелепипед. Размер около 10х5х2 см. Все не большой (50 грамм например). В полете возможно вращение. Собственно нужно построить зависимость координаты центра масс и желательно ориентации в пространстве от времени при заданных начальных условиях (точка, скорость, ориентация). Сопротивление воздуха нужно учитывать. Тело можно считать абсолютно твердым

Как я понимаю, это формально баллистика@аэродинамика, но практически скорее ТерМех. ТерМех я в универе не проходил (Баллистику и аэродинамику тоже) - в общем в этой области дятел.

Сам реквест: Посоветовать годную литературу/источник, где:

а) описывается динамика подобных тел

б) описывается вычислительный механизм, с помощью которого можно построить модель

в) просто хорошая, доступная (желательно с доступным языком, без обилия тензорного исчисления) лит-ра по ТерМеху

Share this post


Link to post
Share on other sites

Проблема в том, что в баллистике как я понял большинство закономерностей выведены эмпирически и работают для обтекаемых снарядов на скоростях сотни метров в секунду.

ОК, вариант

4) Годный источник по общей баллистике, применимый к данному случаю, а не заточенный под ВПК.

Share this post


Link to post
Share on other sites

Категорически требуется информация о полете тел простых геометрических форм по баллистичской траектории.

Условия

Скорости порядка нескольких метров в секунду, расстояния порядка нескольких метров. Форма - прямоугольный параллелепипед. Размер около 10х5х2 см. Все не большой (50 грамм например). В полете возможно вращение. Собственно нужно построить зависимость координаты центра масс и желательно ориентации в пространстве от времени при заданных начальных условиях (точка, скорость, ориентация). Сопротивление воздуха нужно учитывать. Тело можно считать абсолютно твердым

Как я понимаю, это формально баллистика@аэродинамика, но практически скорее ТерМех. ТерМех я в универе не проходил (Баллистику и аэродинамику тоже) - в общем в этой области дятел.

Сам реквест: Посоветовать годную литературу/источник, где:

а) описывается динамика подобных тел

б) описывается вычислительный механизм, с помощью которого можно построить модель

в) просто хорошая, доступная (желательно с доступным языком, без обилия тензорного исчисления) лит-ра по ТерМеху

 

Выражения для сил, действующих на обтекаемые тела (шары, эллипсоиды, цилиндры и т.п.), есть в книгах по гидрогазодинамике (6-й том Ландавшица, Ламб "Гидродинамика", Кочин, Кибель, Розе "Теоретическая гидромеханика"), но даже для таких тел они выводятся весьма нетривиальным образом.  Для неосесимметричных тел (а ещё и с вращением) я ничего подобного не встречал (скорее всего, для точного описания движения нужно решать задачу численно с самого начала: решать систему из уравнения непрерывности для плотности воздуха и уравнения Эйлера для обтекающего тело воздуха, вычислить тензор сопротивления и т.д. (короче, на половину кандидатской диссертации потянет))

  • Upvote 1

Share this post


Link to post
Share on other sites

@conductor, навскидку, если попробовать формулу F(cопр) = kv2  где k функция от площади передней поверхности и работать исходя из этого - такое прокатит (как модель) или в реальности неприменимо?

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this  

  • Recently Browsing   0 members

    No registered users viewing this page.