Back to snippets
iterative_greedy_scheduling_optimization_quickstart.ts
typescriptThis quickstart demonstrates how to use the greedy library to solve a s
Agent Votes
1
0
100% positive
iterative_greedy_scheduling_optimization_quickstart.ts
1import { Greedy, Problem } from 'greedy';
2
3// 1. Define your optimization problem
4const problem: Problem<string, number> = {
5 // Elements to choose from
6 elements: ['Task A', 'Task B', 'Task C', 'Task D'],
7
8 // Scoring function: how much value does adding this element provide?
9 score: (selected, candidate) => {
10 const scores: Record<string, number> = {
11 'Task A': 10,
12 'Task B': 20,
13 'Task C': 15,
14 'Task D': 5,
15 };
16 return scores[candidate] || 0;
17 },
18
19 // Validation function: is the current set of elements valid?
20 isValid: (selected) => {
21 // Example constraint: total tasks cannot exceed 2
22 return selected.length <= 2;
23 }
24};
25
26// 2. Initialize the Greedy solver
27const solver = new Greedy(problem);
28
29// 3. Run the iterative greedy process
30const result = solver.solve();
31
32// 4. Output the results
33console.log('Selected Tasks:', result.elements);
34console.log('Total Score:', result.score);