Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Major iteration counting #37

Closed
wants to merge 5 commits into from
Closed

Major iteration counting #37

wants to merge 5 commits into from

Conversation

ewu63
Copy link
Collaborator

@ewu63 ewu63 commented Jun 18, 2019

Addresses #21 by:

  1. calling the SNOPT routine snkerc instead of snoptc
  2. writing a custom snstop code in Python to replace the one supplied by SNOPT, and called every major iteration
  3. wrapping the snstop Python code with f2py and passing it into snkerc since snoptc accepts much fewer inputs
  4. modifying the db file structure such that the flag isMajor is set to true when the evaluation is at a major iteration
  5. updating optview accordingly to filter iterations based on this flag

A few additional changes:

  1. added code to retrieve the approximate Hessian from the SNOPT work array. Note this only works when full-memory Hessian option is used, as the memory layout in SNOPT is different otherwise
  2. added code to retrieve the full vector of penalty parameters, containing entries for each of the constraints
  3. storing these in the db file along with several other entries that could potentially be useful for users. The full list can be found in snstop and can be modified as needed, and it is straightforward to add more. Note that these entries are only present for major iterations.

@ewu63 ewu63 closed this Jun 18, 2019
@ewu63 ewu63 deleted the itercounting branch June 18, 2019 18:23
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

1 participant