Skip to content

voiage.methods.portfolio.portfolio_voi

portfolio_voi([positional or keyword] portfolio_specification: PortfolioSpec = None, [positional or keyword] study_value_calculator: StudyValueCalculator = None, [positional or keyword] optimization_method: str = 'greedy', [variadic keyword] kwargs: object = {}) -> dict[str, object]

Optimize a portfolio of research studies.

portfolio_specification : PortfolioSpec Candidate studies, costs, and optional budget constraint. study_value_calculator : callable Function that returns the value of a single study. optimization_method : str, default=“greedy” Selection algorithm. Supported values include greedy, integer_programming, and dynamic_programming. **kwargs : object Additional algorithm-specific options.

dict[str, object] Dictionary containing the selected studies, total value, total cost, and method details.

The dynamic-programming path is the exact budget-constrained optimizer. Greedy selection remains available as a fast heuristic.

Parameters:

  • portfolio_specification PortfolioSpec
  • study_value_calculator StudyValueCalculator
  • optimization_method str (default: 'greedy')
  • kwargs object (default: {})

Returns: dict[str, object]