2016-07-27 4 views
0

Это происходило много раз, когда значения переменных дизайна были вне их границ (например, с низкой оценкой 0.0, значение переменной проектирования было установлено на -0,004 оптимизатор), и ограничения казались проигнорированными (например, минимальное ограничение 1.0 для выходной переменной не выполнялось).Значения переменных дизайна из их границ и противопоказаний кажутся проигнорированными

Я использую openMDAO версии 1.6.4, ScipyOptimizer, SLSQP, force_fd, step_size 1.0e-4.

Любые идеи о том, почему это произошло? Я неправильно настраиваю настройки? возможные ошибки? если нет, то как этого избежать?

Любая обратная связь приветствуется.

+0

Если бы вы могли отредактировать свой вопрос, чтобы добавить код, чтобы показать нам, как вы настраиваете вещи, мы можем помочь вам. Благодаря! – kmarsteller

ответ

0

не видя никакого кода, его трудно узнать наверняка. Но, как известно, SLSQP нарушает границы переменных, особенно когда проектные переменные слабо масштабируются. Попробуйте масштабировать вещи, чтобы ваши переменные дизайна варьировались от 0 до 1. Это должно помочь ему работать лучше.

+0

Большое спасибо за ответ, Джастин, это многое объясняет. Я не масштабировал проектные переменные до [0,1]. Я буду повторно запускать свои коды с масштабированными переменными. (Если все будет работать правильно, дальнейшие последующие действия не будут предоставлены) С уважением, Henry –

0

Мне потребовалось некоторое время для повторного запуска моих кодов с масштабированными переменными.

Я получил сходившиеся результаты, а значения всех переменных дизайна находятся в пределах их границ, однако одно ограничение все еще не выполняется. Я устанавливаю ограничение для параметра [0, 1.5], но конечный результат равен 1.73.

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

Считаете ли вы, что меньший критерий конвергенции поможет удовлетворить все ограничения? Ваш совет будет оценен по достоинству.