@Override public int addBooleanVariable(double arg0) { isSolved = false; hasUpdate = true; numVariables++; return baseSolver.addBooleanVariable(arg0); }
@Override public int addBooleanVariable(double arg0) { isSolved = false; hasUpdate = true; numVariables++; return baseSolver.addBooleanVariable(arg0); }
/** * Creates a new Boolean variable to represent the value of a subexpression of some constraint. * * @param d A textual description of the subexpression whose value is represented by the new * variable. * @return The index of the new variable. **/ protected int createVariable(String d) { int result = solver.addBooleanVariable(0); if (verbosity >= VERBOSITY_HIGH) System.out.println(result + ": " + d); return result; }
public int introduceVariableToObjective(String name, double weight) { if (variableNameToInteger.containsKey(name)) { return variableNameToInteger.get(name); } else { int newIdx = solver.addBooleanVariable(weight); variableNameToInteger.put(name, newIdx); return newIdx; } }
@Override protected void addVariables(ILPSolver xmp, InferenceVariableLexManager variableManager) { assert xmp != null; for (int predicateId = 0; predicateId < numPredicates; predicateId++) { SenseInstance senseX = instance.predicates.get(predicateId); String lemma = senseX.getPredicateLemma(); assert lemma != null; log.debug("Adding variables for " + lemma); double[] senseScores = manager.getScores(senseX, true); Set<Integer> set = new HashSet<>(); for (int senseId = 0; senseId < senseScores.length; senseId++) { if (!manager.isValidSense(lemma, senseId)) continue; String label = manager.getSense(senseId); double score = senseScores[senseId]; String variableIdentifier = getSenseVariableIdentifier(viewName, predicateId, label); int var = xmp.addBooleanVariable(score); variableManager.addVariable(variableIdentifier, var); set.add(var); log.debug("Sense variable: " + score + " " + variableIdentifier + " " + var + " " + label); } log.debug("Adding unique sense label constraint"); addUniqueLabelConstraint(xmp, set); } assert variableManager.size() > 0 : "No varaibles added for " + this.ta; }
@Override protected void addVariables(ILPSolver xmp, InferenceVariableLexManager variableManager) { assert xmp != null; for (int predicateId = 0; predicateId < numPredicates; predicateId++) { SenseInstance senseX = instance.predicates.get(predicateId); String lemma = senseX.getPredicateLemma(); assert lemma != null; log.debug("Adding variables for " + lemma); double[] senseScores = manager.getScores(senseX, true); Set<Integer> set = new HashSet<>(); for (int senseId = 0; senseId < senseScores.length; senseId++) { if (!manager.isValidSense(lemma, senseId)) continue; String label = manager.getSense(senseId); double score = senseScores[senseId]; String variableIdentifier = getSenseVariableIdentifier(viewName, predicateId, label); int var = xmp.addBooleanVariable(score); variableManager.addVariable(variableIdentifier, var); set.add(var); log.debug("Sense variable: " + score + " " + variableIdentifier + " " + var + " " + label); } log.debug("Adding unique sense label constraint"); addUniqueLabelConstraint(xmp, set); } assert variableManager.size() > 0 : "No varaibles added for " + this.ta; }
viewName, predicateId, candidateId, label); int var = xmp.addBooleanVariable(score); variableManager.addVariable(variableIdentifier, var); viewName, predicateId, label); int var = xmp.addBooleanVariable(score); variableManager.addVariable(variableIdentifier, var);