I want to solve a constraint problem.
(I have no experience with solvers or optimization and not sure of terminology, I think it’s mixed-integer, non-linear or black box constraint feasibility problem?)
Here’s what I want to do:
Input Variables:
w::Vector{Int}
w is integer vector of length ~20
Mappings:
y = f(w), where f(w::Vector{Int}) -> y::Vector{Float64}
f is somewhat complicated, definitely non-linear
y is same length as w
Constraints:
f(w)[19] == c1
f(w)[20] == c2
dot(f(w), v) == c3, where v is a constant Vector{Int}
These constraints may be satisfied within a certain tolerance
Note this could be simplified by separating into 2 independent problems and making vector v
variable:
1. find w, subject to f(w)[19], f(w)[20] constraints
2. find v, subject to dot(f(w), v) constraint
Note also that I already have a solution v1
, w1
, but now want to find v2
, w2
subject to:
f(w2)[19] == f(w1)[19]
f(w2)[20] == f(w1)[20] * 2
dot(f(w2), v2) == dot(f(w1), v1)
I think this means I have good initial values for the problem?
I’d appreciate any advice on how I could tackle this?