Bernard Knueven is a researcher in applied mathematics with eight years of experience applying operations research to energy systems, currently based in the Denver metro area and working at the National Laboratory of the Rockies. He holds a PhD in Industrial Engineering and has a track record at Sandia National Laboratories where he progressed from intern to senior technical staff, blending rigorous research with practical engineering. Bernard is an active open-source contributor to foundational optimization and process systems projects—most notably Pyomo and the IDAES Process Systems Engineering Framework—where he has improved solver interfaces, state propagation, and constraint scaling. His work bridges algorithmic development and robust software engineering, enabling better integration of advanced solvers like Xpress into modeling ecosystems. Colleagues value his attention to detail in back-end systems and his ability to refactor complex code to reduce duplication and improve maintainability.
8 years of coding experience
2 years of employment as a software developer
Master of Science - MS Mathematics, Master of Science - MS Mathematics at Miami University
Bachelor of Science - BS Mathematics, Bachelor of Science - BS Mathematics at Northern Kentucky University
Doctor of Philosophy - PhD Industrial Engineering, Doctor of Philosophy - PhD Industrial Engineering at University of Tennessee, Knoxville
An object-oriented algebraic modeling language in Python for structured optimization problems.
Role in this project:
Back-end Developer
Contributions:8 reviews, 70 commits, 16 PRs in 2 years 4 months
Contributions summary:Bernard's commits focused on enhancing the Pyomo solver interface, specifically adding support for the Xpress solver. These contributions included creating direct and persistent interfaces for Xpress, integrating them within the Pyomo plugin system, and implementing features like column addition and slack/dual extraction. Furthermore, the user worked on updating exception handling and addressing issues with older versions of Xpress to improve robustness and compatibility with different Xpress versions. These changes are crucial for enabling and improving the use of Xpress within the Pyomo ecosystem.
Contributions:63 reviews, 8 commits, 14 PRs in 1 year 3 months
Contributions summary:Bernard focused on fixing issues and improving the IDAES Process Systems Engineering Framework. They addressed problems related to `IndexedArcs` in the `propagate_state` function, ensuring correct state propagation between different parts of the model. The user also refactored code to eliminate duplication between `copy_port_values` and `propogate_state`, and updated `propagate_state` to use duck-typing. Additionally, the user made changes related to constraint scaling and aggregate flows within the framework.
Find and Hire Top DevelopersWe’ve analyzed the programming source code of over 60 million software developers on GitHub and scored them by 50,000 skills. Sign-up on Prog,AI to search for software developers.
Request Free Trial
Bernard Knueven - Researcher - Applied Mathematics