MDO Architectures

Modified

January 12, 2024

using JuMP
using Ipopt

m = Model(Ipopt.Optimizer)

# Global design variables
@variable(m, x1, start = 1.0)
@variable(m, z1, start = 0)
@variable(m, z2, start = 0)

# Coupling variables
@variable(m, y1, start = 0.5)
@variable(m, y2, start = 0.5)

# Objective function
@NLobjective(m, Min, x1^2 + z2 + y1 + exp(-y2))

#Box constraints
@constraint(m,   0 <= x1 <= 10)
@constraint(m, -10 <= z1 <= 10)
@constraint(m,   0 <= z2 <= 10)

# Inequality constraints (linear)
@constraint(m, y1 >= 3.16)
@constraint(m, 24 >= y2)

#Solve the problem
status = optimize!(m)

The design variable is .