Open
Conversation
thopkins32
requested changes
Jan 16, 2026
Collaborator
There was a problem hiding this comment.
Looks great so far. I like the proposed flow of user input.
I know we talked about making optimize the main plan to use and branching off to other plans for interactive vs. automatic. However, I think that this won't work well. We can always refactor later if we feel they are similar enough.
Here are a few design changes:
- Keep the original
optimizeintact withoptimize_stepthe exact same as before this PR. We should only add net new functionality for now (no lines of code deleted, only added). - Let's do an
optimize_interactiveplan at a top level that removes theiterationsandn_pointsparameter, since the user can provide those inputs interactively. - Remove the pytest and IPython logic in
plans.py, these are not dependencies of Blop. I can help you figure out your issue with this. - Users must provide only
DOF(aka parameter) values, never objective values. Objective values are derived from the acquired data after.
There is a remaining difficulty of getting the DOF names from the optimizer which would make the user input nice. Let's assume that we can't for now and simply have the user provide the full dictionary themselves. In a future PR we can work to improve this.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Allows the user to be more involved within optimization loop having the ability to manually approve/reject suggested points as well as suggesting custom points throughout the process.
Interactive Optimization Workflow through optimize_iteractively()
Number of optimization iterations:
Number of points to suggest per iteration:
Manually approve suggestions?
optimize_step()x)xiterationsNext action
Prompt the user: > "What would you like to do?"
c— Continue optimization (no manual suggestions)s— Suggest points manuallyq— Quit optimizationCloses #132