optimize Package#

What is the optimize package?#

The msolve optimize package offers a rich array of tools and algorithms to tackle both design sensitivity analysis (DSA) and optimization problems seamlessly. Design sensitivity analysis highlights the influence of alterations in design variables (DVs) on the performance or behavior of a given system or model by closely monitoring the changes in response values (RVs). This technique provides invaluable insights, essential for informed decision-making regarding design selections. Concurrently, the optimization problem delves into the realm of seeking optimal solutions. This process identifies solutions that either maximize or minimize an objective function within the defined constraints. By skillfully navigating through the available design variables, this process drives response values toward optimal choices that align with their objectives.

Who will use it?#

This library is primarily tailored for proficient multibody experts seeking a more advanced approach to optimizing their system designs. Instead of resorting to the traditional method of manually adjusting design variables and individually assessing their performance, this library employs a diverse range of algorithms to swiftly identify the most optimal design solutions.

What is its application?#

The optimize package is very generic in nature and targets various industries, such as automotive, general machinery, white goods markets, and others. You can use the package to understand how changes in design variables impact the behavior of a system, or to find the optimal dimensions, shapes, or materials for engineering components, ensuring maximum efficiency and minimum material usage.

How is it used?#

Constructing a designable model of a system becomes seamless using this package. Follow these steps to ensure the model is primed for design sensitivity analysis or optimization:

  1. Model Construction: Develop a comprehensive model of the system using the package, incorporating all pertinent design variables.

  2. Instrumentation: Equip the model with the necessary attributes to seamlessly monitor responses or integrate optimization capabilities.

  3. Metric Generation: Formulate distinct model responses that are of interest. These responses, referred to as metrics, serve as the benchmarks for performance evaluation.

  4. Target Definition: (Optimization) Specify the values you aim to achieve for the defined metrics. These target values guide the optimization process toward your intended outcomes.

  5. Objective Formation: (Optimization) Craft an objective function by utilizing the metric functions and aligning them with the target values. This objective encapsulates the optimization goal.

  6. Execution: Initiate the process by instructing MotionSolve to provide a sensitivity matrix or enhance the system based on the formulated objective.

By diligently following these steps, you can effortlessly forge a dynamic link between design, metrics, objectives, and optimization, yielding an intricately optimized system that aligns seamlessly with your goals.

Optimizer Class#

Optimizer is an object that contains all the elements required for optimization.

Response Module#

The Response module contains response objects and base classes. You can create your own objectives and constraints.

Utilities Module#

The Utilities module contains utility functions that help to make the model designable. These methods reduce the number of Dvs needed and simplify the process of making certain entities designable.