Skip to content

Incorporate Wishlist Priority into Suggest Allocations #306

Description

@ND68

We want to improve the quality of our allocation suggestions by making the solver "aware" of wishlist items. Currently, the solver only cares about meeting proportional targets. We want to update the model so that if multiple valid allocation paths exist, the solver favors paths that fulfill a partner's long-standing wishlist/waitlist "wants." This work will be done on allocationSuggestionService.ts.

Update the NormalizedItem and fetch logic to track wishlist matches.
When fetching lineItems, identify if the GeneralItem matches a record in the Wishlist table for any of the requesting partners.
Pass this as a boolean mapping (e.g., isWishlistMatch: Map<PartnerID, boolean>) into the program builder.

From there, update buildLinearProgram to include a small incentive weight 'W', which is essentially a small "bonus" to the objective function for assignments that fulfill a wishlist item. The logic is, we subtract this value from the minimization objective for every $x_{i,p}$ where a wishlist match exists. For the actual weight, use a small value like 0.001, as we don't want to over prioritize the Wishlist.

Please test various scenarios when a wishlist item would have an effect, and when it wouldn't.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Labels

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions