# Reusing an optimization problem

**URL:** <https://discourse.julialang.org/t/reusing-an-optimization-problem/85694>\
**Category:** General Usage\
**Tags:** optimization\
**Created:** [August 13, 2022, 4:25am UTC](https://discourse.julialang.org/t/reusing-an-optimization-problem/85694 "2022-08-13T04:25:42Z")\
**Posts on this page:** 4\
**Page:** 1

<div class="post-metadata">

**Author:** ![cmarcotte](https://avatars.discourse-cdn.com/v4/letter/c/a3d4f5/32.png) [@cmarcotte](https://discourse.julialang.org/u/cmarcotte)\
**Post date:** [August 13, 2022, 4:25am UTC](https://discourse.julialang.org/t/reusing-an-optimization-problem/85694/1 "2022-08-13T04:25:42Z")

</div>

In Optimization.jl, we make an OptimizationProblem and solve it using an optimizer – is there any way to reuse the OptimizationProblem, like `remake!` in DifferentialEquations.jl? The idea would be to seamlessly chain multiple optimizers together without manually rebuilding the OptimizationProblem each time.

---

<div class="post-metadata">

**Author:** ![gdalle](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/gdalle/32/224680_2.png) [@gdalle](https://discourse.julialang.org/u/gdalle)\
**Post date:** [August 13, 2022, 10:18am UTC](https://discourse.julialang.org/t/reusing-an-optimization-problem/85694/2 "2022-08-13T10:18:22Z")

</div>

For what it’s worth, it’s possible with JuMP.jl. A quick look at the docs for Optimization.jl didn’t yield anything on this topic, but I might have missed something

---

<div class="post-metadata">

**Author:** ![ChrisRackauckas](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/chrisrackauckas/32/77_2.png) [@ChrisRackauckas](https://discourse.julialang.org/u/ChrisRackauckas)\
**Post date:** [August 13, 2022, 11:49am UTC](https://discourse.julialang.org/t/reusing-an-optimization-problem/85694/3 "2022-08-13T11:49:11Z")

</div>

`remake` works. Note it’s an immutable struct so you can just `prob.p .=` to modify the values, or just remake the struct and let Julia elide the problem construction (with immutables it usually just deletes the wrapper construction if it’s a good idea)

---

<div class="post-metadata">

**Author:** ![dawbarton](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/dawbarton/32/215461_2.png) [@dawbarton](https://discourse.julialang.org/u/dawbarton)\
**Post date:** [August 13, 2022, 1:14pm UTC](https://discourse.julialang.org/t/reusing-an-optimization-problem/85694/4 "2022-08-13T13:14:09Z")

</div>

Might also be possible with `@set` from [Setfield.jl](https://github.com/jw3126/Setfield.jl) which might be a lighter weight dependency.
