// Path: src/main/java/org/avmframework/Vector.java
// public class Vector extends AbstractVector {
// 
//   public void addVariable(Variable variable) {
//     variables.add(variable);
//   }
// 
//   public List<Variable> getVariables() {
//     return new ArrayList<>(variables);
//   }
// 
//   public void setVariablesToInitial() {
//     for (Variable var : variables) {
//       var.setValueToInitial();
//     }
//   }
// 
//   public void setVariablesToRandom(RandomGenerator rg) {
//     for (Variable var : variables) {
//       var.setValueToRandom(rg);
//     }
//   }
// 
//   public Vector deepCopy() {
//     Vector copy = new Vector();
//     deepCopyVariables(copy);
//     return copy;
//   }
// }
// 
// Path: src/main/java/org/avmframework/variable/IntegerVariable.java
// public class IntegerVariable extends AtomicVariable {
// 
//   public IntegerVariable(int initialValue, int min, int max) {
//     super(initialValue, min, max);
//     if (min > max) {
//       throw new MinGreaterThanMaxException(min, max);
//     }
//     setValueToInitial();
//   }
// 
//   public int asInt() {
//     return value;
//   }
// 
//   @Override
//   public IntegerVariable deepCopy() {
//     IntegerVariable copy = new IntegerVariable(initialValue, min, max);
//     copy.value = value;
//     return copy;
//   }
// 
//   @Override
//   public String toString() {
//     return "" + asInt();
//   }
// }


import org.avmframework.Vector;
import org.avmframework.variable.IntegerVariable;
import java.util.List;
package org.avmframework.examples.requirementassignment;



public class TestObject {
  static final int INIT = 0; 
  static final int MIN = -1;

  // The value -1 means the requirement is not assigned to any stakeholder
  // set up the vector to be optimized
  public Vector setUpVector(int size, int numStakeholder) {
    Vector vector = new Vector();
    for (int i = 0; i < size; i++) {
// Path: src/main/java/org/avmframework/Vector.java
// public class Vector extends AbstractVector {
// 
//   public void addVariable(Variable variable) {
//     variables.add(variable);
//   }
// 
//   public List<Variable> getVariables() {
//     return new ArrayList<>(variables);
//   }
// 
//   public void setVariablesToInitial() {
//     for (Variable var : variables) {
//       var.setValueToInitial();
//     }
//   }
// 
//   public void setVariablesToRandom(RandomGenerator rg) {
//     for (Variable var : variables) {
//       var.setValueToRandom(rg);
//     }
//   }
// 
//   public Vector deepCopy() {
//     Vector copy = new Vector();
//     deepCopyVariables(copy);
//     return copy;
//   }
// }
// 
// Path: src/main/java/org/avmframework/variable/IntegerVariable.java
// public class IntegerVariable extends AtomicVariable {
// 
//   public IntegerVariable(int initialValue, int min, int max) {
//     super(initialValue, min, max);
//     if (min > max) {
//       throw new MinGreaterThanMaxException(min, max);
//     }
//     setValueToInitial();
//   }
// 
//   public int asInt() {
//     return value;
//   }
// 
//   @Override
//   public IntegerVariable deepCopy() {
//     IntegerVariable copy = new IntegerVariable(initialValue, min, max);
//     copy.value = value;
//     return copy;
//   }
// 
//   @Override
//   public String toString() {
//     return "" + asInt();
//   }
// }


// Path: src/main/java/org/avmframework/examples/requirementassignment/TestObject.java
import org.avmframework.Vector;
import org.avmframework.variable.IntegerVariable;
import java.util.List;

package org.avmframework.examples.requirementassignment;



public class TestObject {
  static final int INIT = 0; 
  static final int MIN = -1;

  // The value -1 means the requirement is not assigned to any stakeholder
  // set up the vector to be optimized
  public Vector setUpVector(int size, int numStakeholder) {
    Vector vector = new Vector();
    for (int i = 0; i < size; i++) {
      vector.addVariable(new IntegerVariable(INIT, MIN, numStakeholder - 1));