1462 public void writeTo(com.google.protobuf.CodedOutputStream output)
1463 throws java.io.IOException {
1464 if (((bitField0_ & 0x00000001) != 0)) {
1465 output.writeDouble(1, maxTimeInSeconds_);
1467 if (((bitField0_ & 0x00000020) != 0)) {
1468 output.writeInt32(2, maxNumDecisionsInLs_);
1470 if (((bitField0_ & 0x00000100) != 0)) {
1471 output.writeBool(3, computeEstimatedImpact_);
1473 if (((bitField0_ & 0x00000200) != 0)) {
1474 output.writeBool(4, pruneSearchTree_);
1476 if (((bitField0_ & 0x00000400) != 0)) {
1477 output.writeBool(5, sortConstraintsByNumTerms_);
1479 if (((bitField0_ & 0x00000800) != 0)) {
1480 output.writeBool(6, useRandomLns_);
1482 if (((bitField0_ & 0x00001000) != 0)) {
1483 output.writeInt32(7, randomSeed_);
1485 if (((bitField0_ & 0x00002000) != 0)) {
1486 output.writeInt32(8, numRelaxedVars_);
1488 if (((bitField0_ & 0x00004000) != 0)) {
1489 output.writeInt32(9, maxNumberOfConflictsInRandomLns_);
1491 if (((bitField0_ & 0x00008000) != 0)) {
1492 output.writeInt32(10, numRandomLnsTries_);
1494 if (((bitField0_ & 0x00010000) != 0)) {
1495 output.writeInt64(11, maxNumberOfBacktracksInLs_);
1497 if (((bitField0_ & 0x00020000) != 0)) {
1498 output.writeBool(12, useLpLns_);
1500 if (((bitField0_ & 0x00000080) != 0)) {
1501 output.writeBool(14, logSearchProgress_);
1503 if (((bitField0_ & 0x00040000) != 0)) {
1504 output.writeBool(15, useSatToChooseLnsNeighbourhood_);
1506 if (((bitField0_ & 0x00080000) != 0)) {
1507 output.writeInt32(16, maxNumberOfConflictsForQuickCheck_);
1509 if (((bitField0_ & 0x00100000) != 0)) {
1510 output.writeBool(17, useSymmetry_);
1512 if (((bitField0_ & 0x00400000) != 0)) {
1513 output.writeInt32(20, maxNumberOfConflictsInRandomSolutionGeneration_);
1515 if (((bitField0_ & 0x00800000) != 0)) {
1516 output.writeInt64(21, maxNumberOfExploredAssignmentsPerTryInLs_);
1518 if (((bitField0_ & 0x01000000) != 0)) {
1519 output.writeBool(22, useTranspositionTableInLs_);
1521 if (((bitField0_ & 0x04000000) != 0)) {
1522 output.writeBool(23, useLearnedBinaryClausesInLp_);
1524 if (((bitField0_ & 0x08000000) != 0)) {
1525 output.writeInt32(24, numberOfSolvers_);
1527 if (((bitField0_ & 0x10000000) != 0)) {
1528 output.writeEnum(25, synchronizationType_);
1530 for (int i = 0; i < solverOptimizerSets_.size(); i++) {
1531 output.writeMessage(26, solverOptimizerSets_.get(i));
1533 if (((bitField0_ & 0x00000002) != 0)) {
1534 output.writeDouble(27, maxDeterministicTime_);
1536 if (((bitField0_ & 0x00000010) != 0)) {
1537 output.writeDouble(28, relativeGapLimit_);
1539 if (((bitField0_ & 0x40000000) != 0)) {
1540 output.writeBool(29, useLpStrongBranching_);
1542 if (((bitField0_ & 0x80000000) != 0)) {
1543 output.writeInt32(30, decomposerNumVariablesThreshold_);
1545 if (((bitField1_ & 0x00000001) != 0)) {
1546 output.writeInt32(31, numBopSolversUsedByDecomposition_);
1548 if (((bitField0_ & 0x20000000) != 0)) {
1549 com.google.protobuf.GeneratedMessageV3.writeString(output, 33, defaultSolverOptimizerSets_);
1551 if (((bitField1_ & 0x00000004) != 0)) {
1552 output.writeInt32(34, guidedSatConflictsChunk_);
1554 if (((bitField0_ & 0x00000008) != 0)) {
1555 output.writeInt32(35, maxNumberOfConsecutiveFailingOptimizerCalls_);
1557 if (((bitField1_ & 0x00000002) != 0)) {
1558 output.writeDouble(36, decomposedProblemMinTimeInSeconds_);
1560 if (((bitField0_ & 0x00000004) != 0)) {
1561 output.writeDouble(37, lpMaxDeterministicTime_);
1563 if (((bitField0_ & 0x00000040) != 0)) {
1564 output.writeInt32(38, maxNumBrokenConstraintsInLs_);
1566 if (((bitField0_ & 0x02000000) != 0)) {
1567 output.writeBool(39, usePotentialOneFlipRepairsInLs_);
1569 if (((bitField0_ & 0x00200000) != 0)) {
1570 output.writeBool(40, exploitSymmetryInSatFirstSolution_);
1572 if (((bitField1_ & 0x00000008) != 0)) {
1573 output.writeInt32(41, maxLpSolveForFeasibilityProblems_);
1575 getUnknownFields().writeTo(output);
1579 public int getSerializedSize() {
1580 int size = memoizedSize;
1581 if (size != -1) return size;
1584 if (((bitField0_ & 0x00000001) != 0)) {
1585 size += com.google.protobuf.CodedOutputStream
1586 .computeDoubleSize(1, maxTimeInSeconds_);
1588 if (((bitField0_ & 0x00000020) != 0)) {
1589 size += com.google.protobuf.CodedOutputStream
1590 .computeInt32Size(2, maxNumDecisionsInLs_);
1592 if (((bitField0_ & 0x00000100) != 0)) {
1593 size += com.google.protobuf.CodedOutputStream
1594 .computeBoolSize(3, computeEstimatedImpact_);
1596 if (((bitField0_ & 0x00000200) != 0)) {
1597 size += com.google.protobuf.CodedOutputStream
1598 .computeBoolSize(4, pruneSearchTree_);
1600 if (((bitField0_ & 0x00000400) != 0)) {
1601 size += com.google.protobuf.CodedOutputStream
1602 .computeBoolSize(5, sortConstraintsByNumTerms_);
1604 if (((bitField0_ & 0x00000800) != 0)) {
1605 size += com.google.protobuf.CodedOutputStream
1606 .computeBoolSize(6, useRandomLns_);
1608 if (((bitField0_ & 0x00001000) != 0)) {
1609 size += com.google.protobuf.CodedOutputStream
1610 .computeInt32Size(7, randomSeed_);
1612 if (((bitField0_ & 0x00002000) != 0)) {
1613 size += com.google.protobuf.CodedOutputStream
1614 .computeInt32Size(8, numRelaxedVars_);
1616 if (((bitField0_ & 0x00004000) != 0)) {
1617 size += com.google.protobuf.CodedOutputStream
1618 .computeInt32Size(9, maxNumberOfConflictsInRandomLns_);
1620 if (((bitField0_ & 0x00008000) != 0)) {
1621 size += com.google.protobuf.CodedOutputStream
1622 .computeInt32Size(10, numRandomLnsTries_);
1624 if (((bitField0_ & 0x00010000) != 0)) {
1625 size += com.google.protobuf.CodedOutputStream
1626 .computeInt64Size(11, maxNumberOfBacktracksInLs_);
1628 if (((bitField0_ & 0x00020000) != 0)) {
1629 size += com.google.protobuf.CodedOutputStream
1630 .computeBoolSize(12, useLpLns_);
1632 if (((bitField0_ & 0x00000080) != 0)) {
1633 size += com.google.protobuf.CodedOutputStream
1634 .computeBoolSize(14, logSearchProgress_);
1636 if (((bitField0_ & 0x00040000) != 0)) {
1637 size += com.google.protobuf.CodedOutputStream
1638 .computeBoolSize(15, useSatToChooseLnsNeighbourhood_);
1640 if (((bitField0_ & 0x00080000) != 0)) {
1641 size += com.google.protobuf.CodedOutputStream
1642 .computeInt32Size(16, maxNumberOfConflictsForQuickCheck_);
1644 if (((bitField0_ & 0x00100000) != 0)) {
1645 size += com.google.protobuf.CodedOutputStream
1646 .computeBoolSize(17, useSymmetry_);
1648 if (((bitField0_ & 0x00400000) != 0)) {
1649 size += com.google.protobuf.CodedOutputStream
1650 .computeInt32Size(20, maxNumberOfConflictsInRandomSolutionGeneration_);
1652 if (((bitField0_ & 0x00800000) != 0)) {
1653 size += com.google.protobuf.CodedOutputStream
1654 .computeInt64Size(21, maxNumberOfExploredAssignmentsPerTryInLs_);
1656 if (((bitField0_ & 0x01000000) != 0)) {
1657 size += com.google.protobuf.CodedOutputStream
1658 .computeBoolSize(22, useTranspositionTableInLs_);
1660 if (((bitField0_ & 0x04000000) != 0)) {
1661 size += com.google.protobuf.CodedOutputStream
1662 .computeBoolSize(23, useLearnedBinaryClausesInLp_);
1664 if (((bitField0_ & 0x08000000) != 0)) {
1665 size += com.google.protobuf.CodedOutputStream
1666 .computeInt32Size(24, numberOfSolvers_);
1668 if (((bitField0_ & 0x10000000) != 0)) {
1669 size += com.google.protobuf.CodedOutputStream
1670 .computeEnumSize(25, synchronizationType_);
1672 for (int i = 0; i < solverOptimizerSets_.size(); i++) {
1673 size += com.google.protobuf.CodedOutputStream
1674 .computeMessageSize(26, solverOptimizerSets_.get(i));
1676 if (((bitField0_ & 0x00000002) != 0)) {
1677 size += com.google.protobuf.CodedOutputStream
1678 .computeDoubleSize(27, maxDeterministicTime_);
1680 if (((bitField0_ & 0x00000010) != 0)) {
1681 size += com.google.protobuf.CodedOutputStream
1682 .computeDoubleSize(28, relativeGapLimit_);
1684 if (((bitField0_ & 0x40000000) != 0)) {
1685 size += com.google.protobuf.CodedOutputStream
1686 .computeBoolSize(29, useLpStrongBranching_);
1688 if (((bitField0_ & 0x80000000) != 0)) {
1689 size += com.google.protobuf.CodedOutputStream
1690 .computeInt32Size(30, decomposerNumVariablesThreshold_);
1692 if (((bitField1_ & 0x00000001) != 0)) {
1693 size += com.google.protobuf.CodedOutputStream
1694 .computeInt32Size(31, numBopSolversUsedByDecomposition_);
1696 if (((bitField0_ & 0x20000000) != 0)) {
1697 size += com.google.protobuf.GeneratedMessageV3.computeStringSize(33, defaultSolverOptimizerSets_);
1699 if (((bitField1_ & 0x00000004) != 0)) {
1700 size += com.google.protobuf.CodedOutputStream
1701 .computeInt32Size(34, guidedSatConflictsChunk_);
1703 if (((bitField0_ & 0x00000008) != 0)) {
1704 size += com.google.protobuf.CodedOutputStream
1705 .computeInt32Size(35, maxNumberOfConsecutiveFailingOptimizerCalls_);
1707 if (((bitField1_ & 0x00000002) != 0)) {
1708 size += com.google.protobuf.CodedOutputStream
1709 .computeDoubleSize(36, decomposedProblemMinTimeInSeconds_);
1711 if (((bitField0_ & 0x00000004) != 0)) {
1712 size += com.google.protobuf.CodedOutputStream
1713 .computeDoubleSize(37, lpMaxDeterministicTime_);
1715 if (((bitField0_ & 0x00000040) != 0)) {
1716 size += com.google.protobuf.CodedOutputStream
1717 .computeInt32Size(38, maxNumBrokenConstraintsInLs_);
1719 if (((bitField0_ & 0x02000000) != 0)) {
1720 size += com.google.protobuf.CodedOutputStream
1721 .computeBoolSize(39, usePotentialOneFlipRepairsInLs_);
1723 if (((bitField0_ & 0x00200000) != 0)) {
1724 size += com.google.protobuf.CodedOutputStream
1725 .computeBoolSize(40, exploitSymmetryInSatFirstSolution_);
1727 if (((bitField1_ & 0x00000008) != 0)) {
1728 size += com.google.protobuf.CodedOutputStream
1729 .computeInt32Size(41, maxLpSolveForFeasibilityProblems_);
1731 size += getUnknownFields().getSerializedSize();
1732 memoizedSize = size;
1737 public boolean equals(final java.lang.Object obj) {
1741 if (!(obj instanceof com.google.ortools.bop.BopParameters)) {
1742 return super.equals(obj);
1744 com.google.ortools.bop.BopParameters other = (com.google.ortools.bop.BopParameters) obj;
1746 if (hasMaxTimeInSeconds() != other.hasMaxTimeInSeconds()) return false;
1747 if (hasMaxTimeInSeconds()) {
1748 if (java.lang.Double.doubleToLongBits(getMaxTimeInSeconds())
1749 != java.lang.Double.doubleToLongBits(
1750 other.getMaxTimeInSeconds())) return false;
1752 if (hasMaxDeterministicTime() != other.hasMaxDeterministicTime()) return false;
1753 if (hasMaxDeterministicTime()) {
1754 if (java.lang.Double.doubleToLongBits(getMaxDeterministicTime())
1755 != java.lang.Double.doubleToLongBits(
1756 other.getMaxDeterministicTime())) return false;
1758 if (hasLpMaxDeterministicTime() != other.hasLpMaxDeterministicTime()) return false;
1759 if (hasLpMaxDeterministicTime()) {
1760 if (java.lang.Double.doubleToLongBits(getLpMaxDeterministicTime())
1761 != java.lang.Double.doubleToLongBits(
1762 other.getLpMaxDeterministicTime())) return false;
1764 if (hasMaxNumberOfConsecutiveFailingOptimizerCalls() != other.hasMaxNumberOfConsecutiveFailingOptimizerCalls()) return false;
1765 if (hasMaxNumberOfConsecutiveFailingOptimizerCalls()) {
1766 if (getMaxNumberOfConsecutiveFailingOptimizerCalls()
1767 != other.getMaxNumberOfConsecutiveFailingOptimizerCalls()) return false;
1769 if (hasRelativeGapLimit() != other.hasRelativeGapLimit()) return false;
1770 if (hasRelativeGapLimit()) {
1771 if (java.lang.Double.doubleToLongBits(getRelativeGapLimit())
1772 != java.lang.Double.doubleToLongBits(
1773 other.getRelativeGapLimit())) return false;
1775 if (hasMaxNumDecisionsInLs() != other.hasMaxNumDecisionsInLs()) return false;
1776 if (hasMaxNumDecisionsInLs()) {
1777 if (getMaxNumDecisionsInLs()
1778 != other.getMaxNumDecisionsInLs()) return false;
1780 if (hasMaxNumBrokenConstraintsInLs() != other.hasMaxNumBrokenConstraintsInLs()) return false;
1781 if (hasMaxNumBrokenConstraintsInLs()) {
1782 if (getMaxNumBrokenConstraintsInLs()
1783 != other.getMaxNumBrokenConstraintsInLs()) return false;
1785 if (hasLogSearchProgress() != other.hasLogSearchProgress()) return false;
1786 if (hasLogSearchProgress()) {
1787 if (getLogSearchProgress()
1788 != other.getLogSearchProgress()) return false;
1790 if (hasComputeEstimatedImpact() != other.hasComputeEstimatedImpact()) return false;
1791 if (hasComputeEstimatedImpact()) {
1792 if (getComputeEstimatedImpact()
1793 != other.getComputeEstimatedImpact()) return false;
1795 if (hasPruneSearchTree() != other.hasPruneSearchTree()) return false;
1796 if (hasPruneSearchTree()) {
1797 if (getPruneSearchTree()
1798 != other.getPruneSearchTree()) return false;
1800 if (hasSortConstraintsByNumTerms() != other.hasSortConstraintsByNumTerms()) return false;
1801 if (hasSortConstraintsByNumTerms()) {
1802 if (getSortConstraintsByNumTerms()
1803 != other.getSortConstraintsByNumTerms()) return false;
1805 if (hasUseRandomLns() != other.hasUseRandomLns()) return false;
1806 if (hasUseRandomLns()) {
1807 if (getUseRandomLns()
1808 != other.getUseRandomLns()) return false;
1810 if (hasRandomSeed() != other.hasRandomSeed()) return false;
1811 if (hasRandomSeed()) {
1813 != other.getRandomSeed()) return false;
1815 if (hasNumRelaxedVars() != other.hasNumRelaxedVars()) return false;
1816 if (hasNumRelaxedVars()) {
1817 if (getNumRelaxedVars()
1818 != other.getNumRelaxedVars()) return false;
1820 if (hasMaxNumberOfConflictsInRandomLns() != other.hasMaxNumberOfConflictsInRandomLns()) return false;
1821 if (hasMaxNumberOfConflictsInRandomLns()) {
1822 if (getMaxNumberOfConflictsInRandomLns()
1823 != other.getMaxNumberOfConflictsInRandomLns()) return false;
1825 if (hasNumRandomLnsTries() != other.hasNumRandomLnsTries()) return false;
1826 if (hasNumRandomLnsTries()) {
1827 if (getNumRandomLnsTries()
1828 != other.getNumRandomLnsTries()) return false;
1830 if (hasMaxNumberOfBacktracksInLs() != other.hasMaxNumberOfBacktracksInLs()) return false;
1831 if (hasMaxNumberOfBacktracksInLs()) {
1832 if (getMaxNumberOfBacktracksInLs()
1833 != other.getMaxNumberOfBacktracksInLs()) return false;
1835 if (hasUseLpLns() != other.hasUseLpLns()) return false;
1836 if (hasUseLpLns()) {
1838 != other.getUseLpLns()) return false;
1840 if (hasUseSatToChooseLnsNeighbourhood() != other.hasUseSatToChooseLnsNeighbourhood()) return false;
1841 if (hasUseSatToChooseLnsNeighbourhood()) {
1842 if (getUseSatToChooseLnsNeighbourhood()
1843 != other.getUseSatToChooseLnsNeighbourhood()) return false;
1845 if (hasMaxNumberOfConflictsForQuickCheck() != other.hasMaxNumberOfConflictsForQuickCheck()) return false;
1846 if (hasMaxNumberOfConflictsForQuickCheck()) {
1847 if (getMaxNumberOfConflictsForQuickCheck()
1848 != other.getMaxNumberOfConflictsForQuickCheck()) return false;
1850 if (hasUseSymmetry() != other.hasUseSymmetry()) return false;
1851 if (hasUseSymmetry()) {
1852 if (getUseSymmetry()
1853 != other.getUseSymmetry()) return false;
1855 if (hasExploitSymmetryInSatFirstSolution() != other.hasExploitSymmetryInSatFirstSolution()) return false;
1856 if (hasExploitSymmetryInSatFirstSolution()) {
1857 if (getExploitSymmetryInSatFirstSolution()
1858 != other.getExploitSymmetryInSatFirstSolution()) return false;
1860 if (hasMaxNumberOfConflictsInRandomSolutionGeneration() != other.hasMaxNumberOfConflictsInRandomSolutionGeneration()) return false;
1861 if (hasMaxNumberOfConflictsInRandomSolutionGeneration()) {
1862 if (getMaxNumberOfConflictsInRandomSolutionGeneration()
1863 != other.getMaxNumberOfConflictsInRandomSolutionGeneration()) return false;
1865 if (hasMaxNumberOfExploredAssignmentsPerTryInLs() != other.hasMaxNumberOfExploredAssignmentsPerTryInLs()) return false;
1866 if (hasMaxNumberOfExploredAssignmentsPerTryInLs()) {
1867 if (getMaxNumberOfExploredAssignmentsPerTryInLs()
1868 != other.getMaxNumberOfExploredAssignmentsPerTryInLs()) return false;
1870 if (hasUseTranspositionTableInLs() != other.hasUseTranspositionTableInLs()) return false;
1871 if (hasUseTranspositionTableInLs()) {
1872 if (getUseTranspositionTableInLs()
1873 != other.getUseTranspositionTableInLs()) return false;
1875 if (hasUsePotentialOneFlipRepairsInLs() != other.hasUsePotentialOneFlipRepairsInLs()) return false;
1876 if (hasUsePotentialOneFlipRepairsInLs()) {
1877 if (getUsePotentialOneFlipRepairsInLs()
1878 != other.getUsePotentialOneFlipRepairsInLs()) return false;
1880 if (hasUseLearnedBinaryClausesInLp() != other.hasUseLearnedBinaryClausesInLp()) return false;
1881 if (hasUseLearnedBinaryClausesInLp()) {
1882 if (getUseLearnedBinaryClausesInLp()
1883 != other.getUseLearnedBinaryClausesInLp()) return false;
1885 if (hasNumberOfSolvers() != other.hasNumberOfSolvers()) return false;
1886 if (hasNumberOfSolvers()) {
1887 if (getNumberOfSolvers()
1888 != other.getNumberOfSolvers()) return false;
1890 if (hasSynchronizationType() != other.hasSynchronizationType()) return false;
1891 if (hasSynchronizationType()) {
1892 if (synchronizationType_ != other.synchronizationType_) return false;
1894 if (!getSolverOptimizerSetsList()
1895 .equals(other.getSolverOptimizerSetsList())) return false;
1896 if (hasDefaultSolverOptimizerSets() != other.hasDefaultSolverOptimizerSets()) return false;
1897 if (hasDefaultSolverOptimizerSets()) {
1898 if (!getDefaultSolverOptimizerSets()
1899 .equals(other.getDefaultSolverOptimizerSets())) return false;
1901 if (hasUseLpStrongBranching() != other.hasUseLpStrongBranching()) return false;
1902 if (hasUseLpStrongBranching()) {
1903 if (getUseLpStrongBranching()
1904 != other.getUseLpStrongBranching()) return false;
1906 if (hasDecomposerNumVariablesThreshold() != other.hasDecomposerNumVariablesThreshold()) return false;
1907 if (hasDecomposerNumVariablesThreshold()) {
1908 if (getDecomposerNumVariablesThreshold()
1909 != other.getDecomposerNumVariablesThreshold()) return false;
1911 if (hasNumBopSolversUsedByDecomposition() != other.hasNumBopSolversUsedByDecomposition()) return false;
1912 if (hasNumBopSolversUsedByDecomposition()) {
1913 if (getNumBopSolversUsedByDecomposition()
1914 != other.getNumBopSolversUsedByDecomposition()) return false;
1916 if (hasDecomposedProblemMinTimeInSeconds() != other.hasDecomposedProblemMinTimeInSeconds()) return false;
1917 if (hasDecomposedProblemMinTimeInSeconds()) {
1918 if (java.lang.Double.doubleToLongBits(getDecomposedProblemMinTimeInSeconds())
1919 != java.lang.Double.doubleToLongBits(
1920 other.getDecomposedProblemMinTimeInSeconds())) return false;
1922 if (hasGuidedSatConflictsChunk() != other.hasGuidedSatConflictsChunk()) return false;
1923 if (hasGuidedSatConflictsChunk()) {
1924 if (getGuidedSatConflictsChunk()
1925 != other.getGuidedSatConflictsChunk()) return false;
1927 if (hasMaxLpSolveForFeasibilityProblems() != other.hasMaxLpSolveForFeasibilityProblems()) return false;
1928 if (hasMaxLpSolveForFeasibilityProblems()) {
1929 if (getMaxLpSolveForFeasibilityProblems()
1930 != other.getMaxLpSolveForFeasibilityProblems()) return false;
1932 if (!getUnknownFields().equals(other.getUnknownFields())) return false;
1937 public int hashCode() {
1938 if (memoizedHashCode != 0) {
1939 return memoizedHashCode;
1942 hash = (19 * hash) + getDescriptor().hashCode();
1943 if (hasMaxTimeInSeconds()) {
1944 hash = (37 * hash) + MAX_TIME_IN_SECONDS_FIELD_NUMBER;
1945 hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
1946 java.lang.Double.doubleToLongBits(getMaxTimeInSeconds()));
1948 if (hasMaxDeterministicTime()) {
1949 hash = (37 * hash) + MAX_DETERMINISTIC_TIME_FIELD_NUMBER;
1950 hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
1951 java.lang.Double.doubleToLongBits(getMaxDeterministicTime()));
1953 if (hasLpMaxDeterministicTime()) {
1954 hash = (37 * hash) + LP_MAX_DETERMINISTIC_TIME_FIELD_NUMBER;
1955 hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
1956 java.lang.Double.doubleToLongBits(getLpMaxDeterministicTime()));
1958 if (hasMaxNumberOfConsecutiveFailingOptimizerCalls()) {
1959 hash = (37 * hash) + MAX_NUMBER_OF_CONSECUTIVE_FAILING_OPTIMIZER_CALLS_FIELD_NUMBER;
1960 hash = (53 * hash) + getMaxNumberOfConsecutiveFailingOptimizerCalls();
1962 if (hasRelativeGapLimit()) {
1963 hash = (37 * hash) + RELATIVE_GAP_LIMIT_FIELD_NUMBER;
1964 hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
1965 java.lang.Double.doubleToLongBits(getRelativeGapLimit()));
1967 if (hasMaxNumDecisionsInLs()) {
1968 hash = (37 * hash) + MAX_NUM_DECISIONS_IN_LS_FIELD_NUMBER;
1969 hash = (53 * hash) + getMaxNumDecisionsInLs();
1971 if (hasMaxNumBrokenConstraintsInLs()) {
1972 hash = (37 * hash) + MAX_NUM_BROKEN_CONSTRAINTS_IN_LS_FIELD_NUMBER;
1973 hash = (53 * hash) + getMaxNumBrokenConstraintsInLs();
1975 if (hasLogSearchProgress()) {
1976 hash = (37 * hash) + LOG_SEARCH_PROGRESS_FIELD_NUMBER;
1977 hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
1978 getLogSearchProgress());
1980 if (hasComputeEstimatedImpact()) {
1981 hash = (37 * hash) + COMPUTE_ESTIMATED_IMPACT_FIELD_NUMBER;
1982 hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
1983 getComputeEstimatedImpact());
1985 if (hasPruneSearchTree()) {
1986 hash = (37 * hash) + PRUNE_SEARCH_TREE_FIELD_NUMBER;
1987 hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
1988 getPruneSearchTree());
1990 if (hasSortConstraintsByNumTerms()) {
1991 hash = (37 * hash) + SORT_CONSTRAINTS_BY_NUM_TERMS_FIELD_NUMBER;
1992 hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
1993 getSortConstraintsByNumTerms());
1995 if (hasUseRandomLns()) {
1996 hash = (37 * hash) + USE_RANDOM_LNS_FIELD_NUMBER;
1997 hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
2000 if (hasRandomSeed()) {
2001 hash = (37 * hash) + RANDOM_SEED_FIELD_NUMBER;
2002 hash = (53 * hash) + getRandomSeed();
2004 if (hasNumRelaxedVars()) {
2005 hash = (37 * hash) + NUM_RELAXED_VARS_FIELD_NUMBER;
2006 hash = (53 * hash) + getNumRelaxedVars();
2008 if (hasMaxNumberOfConflictsInRandomLns()) {
2009 hash = (37 * hash) + MAX_NUMBER_OF_CONFLICTS_IN_RANDOM_LNS_FIELD_NUMBER;
2010 hash = (53 * hash) + getMaxNumberOfConflictsInRandomLns();
2012 if (hasNumRandomLnsTries()) {
2013 hash = (37 * hash) + NUM_RANDOM_LNS_TRIES_FIELD_NUMBER;
2014 hash = (53 * hash) + getNumRandomLnsTries();
2016 if (hasMaxNumberOfBacktracksInLs()) {
2017 hash = (37 * hash) + MAX_NUMBER_OF_BACKTRACKS_IN_LS_FIELD_NUMBER;
2018 hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
2019 getMaxNumberOfBacktracksInLs());
2021 if (hasUseLpLns()) {
2022 hash = (37 * hash) + USE_LP_LNS_FIELD_NUMBER;
2023 hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
2026 if (hasUseSatToChooseLnsNeighbourhood()) {
2027 hash = (37 * hash) + USE_SAT_TO_CHOOSE_LNS_NEIGHBOURHOOD_FIELD_NUMBER;
2028 hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
2029 getUseSatToChooseLnsNeighbourhood());
2031 if (hasMaxNumberOfConflictsForQuickCheck()) {
2032 hash = (37 * hash) + MAX_NUMBER_OF_CONFLICTS_FOR_QUICK_CHECK_FIELD_NUMBER;
2033 hash = (53 * hash) + getMaxNumberOfConflictsForQuickCheck();
2035 if (hasUseSymmetry()) {
2036 hash = (37 * hash) + USE_SYMMETRY_FIELD_NUMBER;
2037 hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
2040 if (hasExploitSymmetryInSatFirstSolution()) {
2041 hash = (37 * hash) + EXPLOIT_SYMMETRY_IN_SAT_FIRST_SOLUTION_FIELD_NUMBER;
2042 hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
2043 getExploitSymmetryInSatFirstSolution());
2045 if (hasMaxNumberOfConflictsInRandomSolutionGeneration()) {
2046 hash = (37 * hash) + MAX_NUMBER_OF_CONFLICTS_IN_RANDOM_SOLUTION_GENERATION_FIELD_NUMBER;
2047 hash = (53 * hash) + getMaxNumberOfConflictsInRandomSolutionGeneration();
2049 if (hasMaxNumberOfExploredAssignmentsPerTryInLs()) {
2050 hash = (37 * hash) + MAX_NUMBER_OF_EXPLORED_ASSIGNMENTS_PER_TRY_IN_LS_FIELD_NUMBER;
2051 hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
2052 getMaxNumberOfExploredAssignmentsPerTryInLs());
2054 if (hasUseTranspositionTableInLs()) {
2055 hash = (37 * hash) + USE_TRANSPOSITION_TABLE_IN_LS_FIELD_NUMBER;
2056 hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
2057 getUseTranspositionTableInLs());
2059 if (hasUsePotentialOneFlipRepairsInLs()) {
2060 hash = (37 * hash) + USE_POTENTIAL_ONE_FLIP_REPAIRS_IN_LS_FIELD_NUMBER;
2061 hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
2062 getUsePotentialOneFlipRepairsInLs());
2064 if (hasUseLearnedBinaryClausesInLp()) {
2065 hash = (37 * hash) + USE_LEARNED_BINARY_CLAUSES_IN_LP_FIELD_NUMBER;
2066 hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
2067 getUseLearnedBinaryClausesInLp());
2069 if (hasNumberOfSolvers()) {
2070 hash = (37 * hash) + NUMBER_OF_SOLVERS_FIELD_NUMBER;
2071 hash = (53 * hash) + getNumberOfSolvers();
2073 if (hasSynchronizationType()) {
2074 hash = (37 * hash) + SYNCHRONIZATION_TYPE_FIELD_NUMBER;
2075 hash = (53 * hash) + synchronizationType_;
2077 if (getSolverOptimizerSetsCount() > 0) {
2078 hash = (37 * hash) + SOLVER_OPTIMIZER_SETS_FIELD_NUMBER;
2079 hash = (53 * hash) + getSolverOptimizerSetsList().hashCode();
2081 if (hasDefaultSolverOptimizerSets()) {
2082 hash = (37 * hash) + DEFAULT_SOLVER_OPTIMIZER_SETS_FIELD_NUMBER;
2083 hash = (53 * hash) + getDefaultSolverOptimizerSets().hashCode();
2085 if (hasUseLpStrongBranching()) {
2086 hash = (37 * hash) + USE_LP_STRONG_BRANCHING_FIELD_NUMBER;
2087 hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
2088 getUseLpStrongBranching());
2090 if (hasDecomposerNumVariablesThreshold()) {
2091 hash = (37 * hash) + DECOMPOSER_NUM_VARIABLES_THRESHOLD_FIELD_NUMBER;
2092 hash = (53 * hash) + getDecomposerNumVariablesThreshold();
2094 if (hasNumBopSolversUsedByDecomposition()) {
2095 hash = (37 * hash) + NUM_BOP_SOLVERS_USED_BY_DECOMPOSITION_FIELD_NUMBER;
2096 hash = (53 * hash) + getNumBopSolversUsedByDecomposition();
2098 if (hasDecomposedProblemMinTimeInSeconds()) {
2099 hash = (37 * hash) + DECOMPOSED_PROBLEM_MIN_TIME_IN_SECONDS_FIELD_NUMBER;
2100 hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
2101 java.lang.Double.doubleToLongBits(getDecomposedProblemMinTimeInSeconds()));
2103 if (hasGuidedSatConflictsChunk()) {
2104 hash = (37 * hash) + GUIDED_SAT_CONFLICTS_CHUNK_FIELD_NUMBER;
2105 hash = (53 * hash) + getGuidedSatConflictsChunk();
2107 if (hasMaxLpSolveForFeasibilityProblems()) {
2108 hash = (37 * hash) + MAX_LP_SOLVE_FOR_FEASIBILITY_PROBLEMS_FIELD_NUMBER;
2109 hash = (53 * hash) + getMaxLpSolveForFeasibilityProblems();
2111 hash = (29 * hash) + getUnknownFields().hashCode();
2112 memoizedHashCode = hash;
2218 public static final class Builder extends
2219 com.google.protobuf.GeneratedMessageV3.Builder<Builder> implements
2220 // @@protoc_insertion_point(builder_implements:operations_research.bop.BopParameters)
2221 com.google.ortools.bop.BopParametersOrBuilder {
2222 public static final com.google.protobuf.Descriptors.Descriptor
2224 return com.google.ortools.bop.BopParametersOuterClass.internal_static_operations_research_bop_BopParameters_descriptor;
2228 protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
2229 internalGetFieldAccessorTable() {
2230 return com.google.ortools.bop.BopParametersOuterClass.internal_static_operations_research_bop_BopParameters_fieldAccessorTable
2231 .ensureFieldAccessorsInitialized(
2232 com.google.ortools.bop.BopParameters.class, com.google.ortools.bop.BopParameters.Builder.class);
2235 // Construct using com.google.ortools.bop.BopParameters.newBuilder()
2241 com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
2246 public Builder clear() {
2250 maxTimeInSeconds_ = Double.POSITIVE_INFINITY;
2251 maxDeterministicTime_ = Double.POSITIVE_INFINITY;
2252 lpMaxDeterministicTime_ = 1D;
2253 maxNumberOfConsecutiveFailingOptimizerCalls_ = 0;
2254 relativeGapLimit_ = 0.0001D;
2255 maxNumDecisionsInLs_ = 4;
2256 maxNumBrokenConstraintsInLs_ = 2147483647;
2257 logSearchProgress_ = false;
2258 computeEstimatedImpact_ = true;
2259 pruneSearchTree_ = false;
2260 sortConstraintsByNumTerms_ = false;
2261 useRandomLns_ = true;
2263 numRelaxedVars_ = 10;
2264 maxNumberOfConflictsInRandomLns_ = 2500;
2265 numRandomLnsTries_ = 1;
2266 maxNumberOfBacktracksInLs_ = 100000000L;
2268 useSatToChooseLnsNeighbourhood_ = true;
2269 maxNumberOfConflictsForQuickCheck_ = 10;
2270 useSymmetry_ = false;
2271 exploitSymmetryInSatFirstSolution_ = false;
2272 maxNumberOfConflictsInRandomSolutionGeneration_ = 500;
2273 maxNumberOfExploredAssignmentsPerTryInLs_ = 10000L;
2274 useTranspositionTableInLs_ = true;
2275 usePotentialOneFlipRepairsInLs_ = false;
2276 useLearnedBinaryClausesInLp_ = true;
2277 numberOfSolvers_ = 1;
2278 synchronizationType_ = 0;
2279 if (solverOptimizerSetsBuilder_ == null) {
2280 solverOptimizerSets_ = java.util.Collections.emptyList();
2282 solverOptimizerSets_ = null;
2283 solverOptimizerSetsBuilder_.clear();
2285 bitField0_ = (bitField0_ & ~0x20000000);
2286 defaultSolverOptimizerSets_ = "methods:{type:LOCAL_SEARCH } methods:{type:RANDOM_FIRST_SOLUTION } methods:{type:LINEAR_RELAXATION } methods:{type:LP_FIRST_SOLUTION } methods:{type:OBJECTIVE_FIRST_SOLUTION } methods:{type:USER_GUIDED_FIRST_SOLUTION } methods:{type:RANDOM_CONSTRAINT_LNS_GUIDED_BY_LP } methods:{type:RANDOM_VARIABLE_LNS_GUIDED_BY_LP } methods:{type:RELATION_GRAPH_LNS } methods:{type:RELATION_GRAPH_LNS_GUIDED_BY_LP } methods:{type:RANDOM_CONSTRAINT_LNS } methods:{type:RANDOM_VARIABLE_LNS } methods:{type:SAT_CORE_BASED } methods:{type:COMPLETE_LNS }
";
2287 useLpStrongBranching_ = false;
2288 decomposerNumVariablesThreshold_ = 50;
2289 numBopSolversUsedByDecomposition_ = 1;
2290 decomposedProblemMinTimeInSeconds_ = 0D;
2291 guidedSatConflictsChunk_ = 1000;
2292 maxLpSolveForFeasibilityProblems_ = 0;
2297 public com.google.protobuf.Descriptors.Descriptor
2298 getDescriptorForType() {
2299 return com.google.ortools.bop.BopParametersOuterClass.internal_static_operations_research_bop_BopParameters_descriptor;
2303 public com.google.ortools.bop.BopParameters getDefaultInstanceForType() {
2304 return com.google.ortools.bop.BopParameters.getDefaultInstance();
2308 public com.google.ortools.bop.BopParameters build() {
2309 com.google.ortools.bop.BopParameters result = buildPartial();
2310 if (!result.isInitialized()) {
2311 throw newUninitializedMessageException(result);
2317 public com.google.ortools.bop.BopParameters buildPartial() {
2318 com.google.ortools.bop.BopParameters result = new com.google.ortools.bop.BopParameters(this);
2319 buildPartialRepeatedFields(result);
2320 if (bitField0_ != 0) { buildPartial0(result); }
2321 if (bitField1_ != 0) { buildPartial1(result); }
2326 private void buildPartialRepeatedFields(com.google.ortools.bop.BopParameters result) {
2327 if (solverOptimizerSetsBuilder_ == null) {
2328 if (((bitField0_ & 0x20000000) != 0)) {
2329 solverOptimizerSets_ = java.util.Collections.unmodifiableList(solverOptimizerSets_);
2330 bitField0_ = (bitField0_ & ~0x20000000);
2332 result.solverOptimizerSets_ = solverOptimizerSets_;
2334 result.solverOptimizerSets_ = solverOptimizerSetsBuilder_.build();
2338 private void buildPartial0(com.google.ortools.bop.BopParameters result) {
2339 int from_bitField0_ = bitField0_;
2340 int to_bitField0_ = 0;
2341 if (((from_bitField0_ & 0x00000001) != 0)) {
2342 result.maxTimeInSeconds_ = maxTimeInSeconds_;
2343 to_bitField0_ |= 0x00000001;
2345 if (((from_bitField0_ & 0x00000002) != 0)) {
2346 result.maxDeterministicTime_ = maxDeterministicTime_;
2347 to_bitField0_ |= 0x00000002;
2349 if (((from_bitField0_ & 0x00000004) != 0)) {
2350 result.lpMaxDeterministicTime_ = lpMaxDeterministicTime_;
2351 to_bitField0_ |= 0x00000004;
2353 if (((from_bitField0_ & 0x00000008) != 0)) {
2354 result.maxNumberOfConsecutiveFailingOptimizerCalls_ = maxNumberOfConsecutiveFailingOptimizerCalls_;
2355 to_bitField0_ |= 0x00000008;
2357 if (((from_bitField0_ & 0x00000010) != 0)) {
2358 result.relativeGapLimit_ = relativeGapLimit_;
2359 to_bitField0_ |= 0x00000010;
2361 if (((from_bitField0_ & 0x00000020) != 0)) {
2362 result.maxNumDecisionsInLs_ = maxNumDecisionsInLs_;
2363 to_bitField0_ |= 0x00000020;
2365 if (((from_bitField0_ & 0x00000040) != 0)) {
2366 result.maxNumBrokenConstraintsInLs_ = maxNumBrokenConstraintsInLs_;
2367 to_bitField0_ |= 0x00000040;
2369 if (((from_bitField0_ & 0x00000080) != 0)) {
2370 result.logSearchProgress_ = logSearchProgress_;
2371 to_bitField0_ |= 0x00000080;
2373 if (((from_bitField0_ & 0x00000100) != 0)) {
2374 result.computeEstimatedImpact_ = computeEstimatedImpact_;
2375 to_bitField0_ |= 0x00000100;
2377 if (((from_bitField0_ & 0x00000200) != 0)) {
2378 result.pruneSearchTree_ = pruneSearchTree_;
2379 to_bitField0_ |= 0x00000200;
2381 if (((from_bitField0_ & 0x00000400) != 0)) {
2382 result.sortConstraintsByNumTerms_ = sortConstraintsByNumTerms_;
2383 to_bitField0_ |= 0x00000400;
2385 if (((from_bitField0_ & 0x00000800) != 0)) {
2386 result.useRandomLns_ = useRandomLns_;
2387 to_bitField0_ |= 0x00000800;
2389 if (((from_bitField0_ & 0x00001000) != 0)) {
2390 result.randomSeed_ = randomSeed_;
2391 to_bitField0_ |= 0x00001000;
2393 if (((from_bitField0_ & 0x00002000) != 0)) {
2394 result.numRelaxedVars_ = numRelaxedVars_;
2395 to_bitField0_ |= 0x00002000;
2397 if (((from_bitField0_ & 0x00004000) != 0)) {
2398 result.maxNumberOfConflictsInRandomLns_ = maxNumberOfConflictsInRandomLns_;
2399 to_bitField0_ |= 0x00004000;
2401 if (((from_bitField0_ & 0x00008000) != 0)) {
2402 result.numRandomLnsTries_ = numRandomLnsTries_;
2403 to_bitField0_ |= 0x00008000;
2405 if (((from_bitField0_ & 0x00010000) != 0)) {
2406 result.maxNumberOfBacktracksInLs_ = maxNumberOfBacktracksInLs_;
2407 to_bitField0_ |= 0x00010000;
2409 if (((from_bitField0_ & 0x00020000) != 0)) {
2410 result.useLpLns_ = useLpLns_;
2411 to_bitField0_ |= 0x00020000;
2413 if (((from_bitField0_ & 0x00040000) != 0)) {
2414 result.useSatToChooseLnsNeighbourhood_ = useSatToChooseLnsNeighbourhood_;
2415 to_bitField0_ |= 0x00040000;
2417 if (((from_bitField0_ & 0x00080000) != 0)) {
2418 result.maxNumberOfConflictsForQuickCheck_ = maxNumberOfConflictsForQuickCheck_;
2419 to_bitField0_ |= 0x00080000;
2421 if (((from_bitField0_ & 0x00100000) != 0)) {
2422 result.useSymmetry_ = useSymmetry_;
2423 to_bitField0_ |= 0x00100000;
2425 if (((from_bitField0_ & 0x00200000) != 0)) {
2426 result.exploitSymmetryInSatFirstSolution_ = exploitSymmetryInSatFirstSolution_;
2427 to_bitField0_ |= 0x00200000;
2429 if (((from_bitField0_ & 0x00400000) != 0)) {
2430 result.maxNumberOfConflictsInRandomSolutionGeneration_ = maxNumberOfConflictsInRandomSolutionGeneration_;
2431 to_bitField0_ |= 0x00400000;
2433 if (((from_bitField0_ & 0x00800000) != 0)) {
2434 result.maxNumberOfExploredAssignmentsPerTryInLs_ = maxNumberOfExploredAssignmentsPerTryInLs_;
2435 to_bitField0_ |= 0x00800000;
2437 if (((from_bitField0_ & 0x01000000) != 0)) {
2438 result.useTranspositionTableInLs_ = useTranspositionTableInLs_;
2439 to_bitField0_ |= 0x01000000;
2441 if (((from_bitField0_ & 0x02000000) != 0)) {
2442 result.usePotentialOneFlipRepairsInLs_ = usePotentialOneFlipRepairsInLs_;
2443 to_bitField0_ |= 0x02000000;
2445 if (((from_bitField0_ & 0x04000000) != 0)) {
2446 result.useLearnedBinaryClausesInLp_ = useLearnedBinaryClausesInLp_;
2447 to_bitField0_ |= 0x04000000;
2449 if (((from_bitField0_ & 0x08000000) != 0)) {
2450 result.numberOfSolvers_ = numberOfSolvers_;
2451 to_bitField0_ |= 0x08000000;
2453 if (((from_bitField0_ & 0x10000000) != 0)) {
2454 result.synchronizationType_ = synchronizationType_;
2455 to_bitField0_ |= 0x10000000;
2457 if (((from_bitField0_ & 0x40000000) != 0)) {
2458 result.defaultSolverOptimizerSets_ = defaultSolverOptimizerSets_;
2459 to_bitField0_ |= 0x20000000;
2461 if (((from_bitField0_ & 0x80000000) != 0)) {
2462 result.useLpStrongBranching_ = useLpStrongBranching_;
2463 to_bitField0_ |= 0x40000000;
2465 result.bitField0_ |= to_bitField0_;
2468 private void buildPartial1(com.google.ortools.bop.BopParameters result) {
2469 int from_bitField1_ = bitField1_;
2470 int to_bitField0_ = 0;
2471 if (((from_bitField1_ & 0x00000001) != 0)) {
2472 result.decomposerNumVariablesThreshold_ = decomposerNumVariablesThreshold_;
2473 to_bitField0_ |= 0x80000000;
2475 int to_bitField1_ = 0;
2476 if (((from_bitField1_ & 0x00000002) != 0)) {
2477 result.numBopSolversUsedByDecomposition_ = numBopSolversUsedByDecomposition_;
2478 to_bitField1_ |= 0x00000001;
2480 if (((from_bitField1_ & 0x00000004) != 0)) {
2481 result.decomposedProblemMinTimeInSeconds_ = decomposedProblemMinTimeInSeconds_;
2482 to_bitField1_ |= 0x00000002;
2484 if (((from_bitField1_ & 0x00000008) != 0)) {
2485 result.guidedSatConflictsChunk_ = guidedSatConflictsChunk_;
2486 to_bitField1_ |= 0x00000004;
2488 if (((from_bitField1_ & 0x00000010) != 0)) {
2489 result.maxLpSolveForFeasibilityProblems_ = maxLpSolveForFeasibilityProblems_;
2490 to_bitField1_ |= 0x00000008;
2492 result.bitField0_ |= to_bitField0_;
2493 result.bitField1_ |= to_bitField1_;
2497 public Builder clone() {
2498 return super.clone();
2501 public Builder setField(
2502 com.google.protobuf.Descriptors.FieldDescriptor field,
2503 java.lang.Object value) {
2504 return super.setField(field, value);
2507 public Builder clearField(
2508 com.google.protobuf.Descriptors.FieldDescriptor field) {
2509 return super.clearField(field);
2512 public Builder clearOneof(
2513 com.google.protobuf.Descriptors.OneofDescriptor oneof) {
2514 return super.clearOneof(oneof);
2517 public Builder setRepeatedField(
2518 com.google.protobuf.Descriptors.FieldDescriptor field,
2519 int index, java.lang.Object value) {
2520 return super.setRepeatedField(field, index, value);
2523 public Builder addRepeatedField(
2524 com.google.protobuf.Descriptors.FieldDescriptor field,
2525 java.lang.Object value) {
2526 return super.addRepeatedField(field, value);
2529 public Builder mergeFrom(com.google.protobuf.Message other) {
2530 if (other instanceof com.google.ortools.bop.BopParameters) {
2531 return mergeFrom((com.google.ortools.bop.BopParameters)other);
2533 super.mergeFrom(other);
2538 public Builder mergeFrom(com.google.ortools.bop.BopParameters other) {
2539 if (other == com.google.ortools.bop.BopParameters.getDefaultInstance()) return this;
2540 if (other.hasMaxTimeInSeconds()) {
2541 setMaxTimeInSeconds(other.getMaxTimeInSeconds());
2543 if (other.hasMaxDeterministicTime()) {
2544 setMaxDeterministicTime(other.getMaxDeterministicTime());
2546 if (other.hasLpMaxDeterministicTime()) {
2547 setLpMaxDeterministicTime(other.getLpMaxDeterministicTime());
2549 if (other.hasMaxNumberOfConsecutiveFailingOptimizerCalls()) {
2550 setMaxNumberOfConsecutiveFailingOptimizerCalls(other.getMaxNumberOfConsecutiveFailingOptimizerCalls());
2552 if (other.hasRelativeGapLimit()) {
2553 setRelativeGapLimit(other.getRelativeGapLimit());
2555 if (other.hasMaxNumDecisionsInLs()) {
2556 setMaxNumDecisionsInLs(other.getMaxNumDecisionsInLs());
2558 if (other.hasMaxNumBrokenConstraintsInLs()) {
2559 setMaxNumBrokenConstraintsInLs(other.getMaxNumBrokenConstraintsInLs());
2561 if (other.hasLogSearchProgress()) {
2562 setLogSearchProgress(other.getLogSearchProgress());
2564 if (other.hasComputeEstimatedImpact()) {
2565 setComputeEstimatedImpact(other.getComputeEstimatedImpact());
2567 if (other.hasPruneSearchTree()) {
2568 setPruneSearchTree(other.getPruneSearchTree());
2570 if (other.hasSortConstraintsByNumTerms()) {
2571 setSortConstraintsByNumTerms(other.getSortConstraintsByNumTerms());
2573 if (other.hasUseRandomLns()) {
2574 setUseRandomLns(other.getUseRandomLns());
2576 if (other.hasRandomSeed()) {
2577 setRandomSeed(other.getRandomSeed());
2579 if (other.hasNumRelaxedVars()) {
2580 setNumRelaxedVars(other.getNumRelaxedVars());
2582 if (other.hasMaxNumberOfConflictsInRandomLns()) {
2583 setMaxNumberOfConflictsInRandomLns(other.getMaxNumberOfConflictsInRandomLns());
2585 if (other.hasNumRandomLnsTries()) {
2586 setNumRandomLnsTries(other.getNumRandomLnsTries());
2588 if (other.hasMaxNumberOfBacktracksInLs()) {
2589 setMaxNumberOfBacktracksInLs(other.getMaxNumberOfBacktracksInLs());
2591 if (other.hasUseLpLns()) {
2592 setUseLpLns(other.getUseLpLns());
2594 if (other.hasUseSatToChooseLnsNeighbourhood()) {
2595 setUseSatToChooseLnsNeighbourhood(other.getUseSatToChooseLnsNeighbourhood());
2597 if (other.hasMaxNumberOfConflictsForQuickCheck()) {
2598 setMaxNumberOfConflictsForQuickCheck(other.getMaxNumberOfConflictsForQuickCheck());
2600 if (other.hasUseSymmetry()) {
2601 setUseSymmetry(other.getUseSymmetry());
2603 if (other.hasExploitSymmetryInSatFirstSolution()) {
2604 setExploitSymmetryInSatFirstSolution(other.getExploitSymmetryInSatFirstSolution());
2606 if (other.hasMaxNumberOfConflictsInRandomSolutionGeneration()) {
2607 setMaxNumberOfConflictsInRandomSolutionGeneration(other.getMaxNumberOfConflictsInRandomSolutionGeneration());
2609 if (other.hasMaxNumberOfExploredAssignmentsPerTryInLs()) {
2610 setMaxNumberOfExploredAssignmentsPerTryInLs(other.getMaxNumberOfExploredAssignmentsPerTryInLs());
2612 if (other.hasUseTranspositionTableInLs()) {
2613 setUseTranspositionTableInLs(other.getUseTranspositionTableInLs());
2615 if (other.hasUsePotentialOneFlipRepairsInLs()) {
2616 setUsePotentialOneFlipRepairsInLs(other.getUsePotentialOneFlipRepairsInLs());
2618 if (other.hasUseLearnedBinaryClausesInLp()) {
2619 setUseLearnedBinaryClausesInLp(other.getUseLearnedBinaryClausesInLp());
2621 if (other.hasNumberOfSolvers()) {
2622 setNumberOfSolvers(other.getNumberOfSolvers());
2624 if (other.hasSynchronizationType()) {
2625 setSynchronizationType(other.getSynchronizationType());
2627 if (solverOptimizerSetsBuilder_ == null) {
2628 if (!other.solverOptimizerSets_.isEmpty()) {
2629 if (solverOptimizerSets_.isEmpty()) {
2630 solverOptimizerSets_ = other.solverOptimizerSets_;
2631 bitField0_ = (bitField0_ & ~0x20000000);
2633 ensureSolverOptimizerSetsIsMutable();
2634 solverOptimizerSets_.addAll(other.solverOptimizerSets_);
2639 if (!other.solverOptimizerSets_.isEmpty()) {
2640 if (solverOptimizerSetsBuilder_.isEmpty()) {
2641 solverOptimizerSetsBuilder_.dispose();
2642 solverOptimizerSetsBuilder_ = null;
2643 solverOptimizerSets_ = other.solverOptimizerSets_;
2644 bitField0_ = (bitField0_ & ~0x20000000);
2645 solverOptimizerSetsBuilder_ =
2646 com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders ?
2647 getSolverOptimizerSetsFieldBuilder() : null;
2649 solverOptimizerSetsBuilder_.addAllMessages(other.solverOptimizerSets_);
2653 if (other.hasDefaultSolverOptimizerSets()) {
2654 defaultSolverOptimizerSets_ = other.defaultSolverOptimizerSets_;
2655 bitField0_ |= 0x40000000;
2658 if (other.hasUseLpStrongBranching()) {
2659 setUseLpStrongBranching(other.getUseLpStrongBranching());
2661 if (other.hasDecomposerNumVariablesThreshold()) {
2662 setDecomposerNumVariablesThreshold(other.getDecomposerNumVariablesThreshold());
2664 if (other.hasNumBopSolversUsedByDecomposition()) {
2665 setNumBopSolversUsedByDecomposition(other.getNumBopSolversUsedByDecomposition());
2667 if (other.hasDecomposedProblemMinTimeInSeconds()) {
2668 setDecomposedProblemMinTimeInSeconds(other.getDecomposedProblemMinTimeInSeconds());
2670 if (other.hasGuidedSatConflictsChunk()) {
2671 setGuidedSatConflictsChunk(other.getGuidedSatConflictsChunk());
2673 if (other.hasMaxLpSolveForFeasibilityProblems()) {
2674 setMaxLpSolveForFeasibilityProblems(other.getMaxLpSolveForFeasibilityProblems());
2676 this.mergeUnknownFields(other.getUnknownFields());
2682 public final boolean isInitialized() {
2687 public Builder mergeFrom(
2688 com.google.protobuf.CodedInputStream input,
2689 com.google.protobuf.ExtensionRegistryLite extensionRegistry)
2690 throws java.io.IOException {
2691 if (extensionRegistry == null) {
2692 throw new java.lang.NullPointerException();
2695 boolean done = false;
2697 int tag = input.readTag();
2703 maxTimeInSeconds_ = input.readDouble();
2704 bitField0_ |= 0x00000001;
2708 maxNumDecisionsInLs_ = input.readInt32();
2709 bitField0_ |= 0x00000020;
2713 computeEstimatedImpact_ = input.readBool();
2714 bitField0_ |= 0x00000100;
2718 pruneSearchTree_ = input.readBool();
2719 bitField0_ |= 0x00000200;
2723 sortConstraintsByNumTerms_ = input.readBool();
2724 bitField0_ |= 0x00000400;
2728 useRandomLns_ = input.readBool();
2729 bitField0_ |= 0x00000800;
2733 randomSeed_ = input.readInt32();
2734 bitField0_ |= 0x00001000;
2738 numRelaxedVars_ = input.readInt32();
2739 bitField0_ |= 0x00002000;
2743 maxNumberOfConflictsInRandomLns_ = input.readInt32();
2744 bitField0_ |= 0x00004000;
2748 numRandomLnsTries_ = input.readInt32();
2749 bitField0_ |= 0x00008000;
2753 maxNumberOfBacktracksInLs_ = input.readInt64();
2754 bitField0_ |= 0x00010000;
2758 useLpLns_ = input.readBool();
2759 bitField0_ |= 0x00020000;
2763 logSearchProgress_ = input.readBool();
2764 bitField0_ |= 0x00000080;
2768 useSatToChooseLnsNeighbourhood_ = input.readBool();
2769 bitField0_ |= 0x00040000;
2773 maxNumberOfConflictsForQuickCheck_ = input.readInt32();
2774 bitField0_ |= 0x00080000;
2778 useSymmetry_ = input.readBool();
2779 bitField0_ |= 0x00100000;
2783 maxNumberOfConflictsInRandomSolutionGeneration_ = input.readInt32();
2784 bitField0_ |= 0x00400000;
2788 maxNumberOfExploredAssignmentsPerTryInLs_ = input.readInt64();
2789 bitField0_ |= 0x00800000;
2793 useTranspositionTableInLs_ = input.readBool();
2794 bitField0_ |= 0x01000000;
2798 useLearnedBinaryClausesInLp_ = input.readBool();
2799 bitField0_ |= 0x04000000;
2803 numberOfSolvers_ = input.readInt32();
2804 bitField0_ |= 0x08000000;
2808 int tmpRaw = input.readEnum();
2809 com.google.ortools.bop.BopParameters.ThreadSynchronizationType tmpValue =
2810 com.google.ortools.bop.BopParameters.ThreadSynchronizationType.forNumber(tmpRaw);
2811 if (tmpValue == null) {
2812 mergeUnknownVarintField(25, tmpRaw);
2814 synchronizationType_ = tmpRaw;
2815 bitField0_ |= 0x10000000;
2820 com.google.ortools.bop.BopSolverOptimizerSet m =
2822 com.google.ortools.bop.BopSolverOptimizerSet.PARSER,
2824 if (solverOptimizerSetsBuilder_ == null) {
2825 ensureSolverOptimizerSetsIsMutable();
2826 solverOptimizerSets_.add(m);
2828 solverOptimizerSetsBuilder_.addMessage(m);
2833 maxDeterministicTime_ = input.readDouble();
2834 bitField0_ |= 0x00000002;
2838 relativeGapLimit_ = input.readDouble();
2839 bitField0_ |= 0x00000010;
2843 useLpStrongBranching_ = input.readBool();
2844 bitField0_ |= 0x80000000;
2848 decomposerNumVariablesThreshold_ = input.readInt32();
2849 bitField1_ |= 0x00000001;
2853 numBopSolversUsedByDecomposition_ = input.readInt32();
2854 bitField1_ |= 0x00000002;
2858 defaultSolverOptimizerSets_ = input.readBytes();
2859 bitField0_ |= 0x40000000;
2863 guidedSatConflictsChunk_ = input.readInt32();
2864 bitField1_ |= 0x00000008;
2868 maxNumberOfConsecutiveFailingOptimizerCalls_ = input.readInt32();
2869 bitField0_ |= 0x00000008;
2873 decomposedProblemMinTimeInSeconds_ = input.readDouble();
2874 bitField1_ |= 0x00000004;
2878 lpMaxDeterministicTime_ = input.readDouble();
2879 bitField0_ |= 0x00000004;
2883 maxNumBrokenConstraintsInLs_ = input.readInt32();
2884 bitField0_ |= 0x00000040;
2888 usePotentialOneFlipRepairsInLs_ = input.readBool();
2889 bitField0_ |= 0x02000000;
2893 exploitSymmetryInSatFirstSolution_ = input.readBool();
2894 bitField0_ |= 0x00200000;
2898 maxLpSolveForFeasibilityProblems_ = input.readInt32();
2899 bitField1_ |= 0x00000010;
2903 if (!super.parseUnknownField(input, extensionRegistry, tag)) {
2904 done = true; // was an endgroup tag
2910 } catch (com.google.protobuf.InvalidProtocolBufferException e) {
2911 throw e.unwrapIOException();
2917 private int bitField0_;
2918 private int bitField1_;
2920 private double maxTimeInSeconds_ = Double.POSITIVE_INFINITY;
2931 public boolean hasMaxTimeInSeconds() {
2932 return ((bitField0_ & 0x00000001) != 0);
2944 public double getMaxTimeInSeconds() {
2945 return maxTimeInSeconds_;
2957 public Builder setMaxTimeInSeconds(double value) {
2959 maxTimeInSeconds_ = value;
2960 bitField0_ |= 0x00000001;
2973 public Builder clearMaxTimeInSeconds() {
2974 bitField0_ = (bitField0_ & ~0x00000001);
2975 maxTimeInSeconds_ = Double.POSITIVE_INFINITY;
2980 private double maxDeterministicTime_ = Double.POSITIVE_INFINITY;
2994 public boolean hasMaxDeterministicTime() {
2995 return ((bitField0_ & 0x00000002) != 0);
3010 public double getMaxDeterministicTime() {
3011 return maxDeterministicTime_;
3026 public Builder setMaxDeterministicTime(double value) {
3028 maxDeterministicTime_ = value;
3029 bitField0_ |= 0x00000002;
3045 public Builder clearMaxDeterministicTime() {
3046 bitField0_ = (bitField0_ & ~0x00000002);
3047 maxDeterministicTime_ = Double.POSITIVE_INFINITY;
3052 private double lpMaxDeterministicTime_ = 1D;
3064 public boolean hasLpMaxDeterministicTime() {
3065 return ((bitField0_ & 0x00000004) != 0);
3078 public double getLpMaxDeterministicTime() {
3079 return lpMaxDeterministicTime_;
3092 public Builder setLpMaxDeterministicTime(double value) {
3094 lpMaxDeterministicTime_ = value;
3095 bitField0_ |= 0x00000004;
3109 public Builder clearLpMaxDeterministicTime() {
3110 bitField0_ = (bitField0_ & ~0x00000004);
3111 lpMaxDeterministicTime_ = 1D;
3116 private int maxNumberOfConsecutiveFailingOptimizerCalls_ ;
3130 public boolean hasMaxNumberOfConsecutiveFailingOptimizerCalls() {
3131 return ((bitField0_ & 0x00000008) != 0);
3146 public int getMaxNumberOfConsecutiveFailingOptimizerCalls() {
3147 return maxNumberOfConsecutiveFailingOptimizerCalls_;
3162 public Builder setMaxNumberOfConsecutiveFailingOptimizerCalls(int value) {
3164 maxNumberOfConsecutiveFailingOptimizerCalls_ = value;
3165 bitField0_ |= 0x00000008;
3181 public Builder clearMaxNumberOfConsecutiveFailingOptimizerCalls() {
3182 bitField0_ = (bitField0_ & ~0x00000008);
3183 maxNumberOfConsecutiveFailingOptimizerCalls_ = 0;
3188 private double relativeGapLimit_ = 0.0001D;
3202 public boolean hasRelativeGapLimit() {
3203 return ((bitField0_ & 0x00000010) != 0);
3218 public double getRelativeGapLimit() {
3219 return relativeGapLimit_;
3234 public Builder setRelativeGapLimit(double value) {
3236 relativeGapLimit_ = value;
3237 bitField0_ |= 0x00000010;
3253 public Builder clearRelativeGapLimit() {
3254 bitField0_ = (bitField0_ & ~0x00000010);
3255 relativeGapLimit_ = 0.0001D;
3260 private int maxNumDecisionsInLs_ = 4;
3271 public boolean hasMaxNumDecisionsInLs() {
3272 return ((bitField0_ & 0x00000020) != 0);
3284 public int getMaxNumDecisionsInLs() {
3285 return maxNumDecisionsInLs_;
3297 public Builder setMaxNumDecisionsInLs(int value) {
3299 maxNumDecisionsInLs_ = value;
3300 bitField0_ |= 0x00000020;
3313 public Builder clearMaxNumDecisionsInLs() {
3314 bitField0_ = (bitField0_ & ~0x00000020);
3315 maxNumDecisionsInLs_ = 4;
3320 private int maxNumBrokenConstraintsInLs_ = 2147483647;
3332 public boolean hasMaxNumBrokenConstraintsInLs() {
3333 return ((bitField0_ & 0x00000040) != 0);
3346 public int getMaxNumBrokenConstraintsInLs() {
3347 return maxNumBrokenConstraintsInLs_;
3360 public Builder setMaxNumBrokenConstraintsInLs(int value) {
3362 maxNumBrokenConstraintsInLs_ = value;
3363 bitField0_ |= 0x00000040;
3377 public Builder clearMaxNumBrokenConstraintsInLs() {
3378 bitField0_ = (bitField0_ & ~0x00000040);
3379 maxNumBrokenConstraintsInLs_ = 2147483647;
3384 private boolean logSearchProgress_ ;
3394 public boolean hasLogSearchProgress() {
3395 return ((bitField0_ & 0x00000080) != 0);
3406 public boolean getLogSearchProgress() {
3407 return logSearchProgress_;
3418 public Builder setLogSearchProgress(boolean value) {
3420 logSearchProgress_ = value;
3421 bitField0_ |= 0x00000080;
3433 public Builder clearLogSearchProgress() {
3434 bitField0_ = (bitField0_ & ~0x00000080);
3435 logSearchProgress_ = false;
3440 private boolean computeEstimatedImpact_ = true;
3450 public boolean hasComputeEstimatedImpact() {
3451 return ((bitField0_ & 0x00000100) != 0);
3462 public boolean getComputeEstimatedImpact() {
3463 return computeEstimatedImpact_;
3474 public Builder setComputeEstimatedImpact(boolean value) {
3476 computeEstimatedImpact_ = value;
3477 bitField0_ |= 0x00000100;
3489 public Builder clearComputeEstimatedImpact() {
3490 bitField0_ = (bitField0_ & ~0x00000100);
3491 computeEstimatedImpact_ = true;
3496 private boolean pruneSearchTree_ ;
3506 public boolean hasPruneSearchTree() {
3507 return ((bitField0_ & 0x00000200) != 0);
3518 public boolean getPruneSearchTree() {
3519 return pruneSearchTree_;
3530 public Builder setPruneSearchTree(boolean value) {
3532 pruneSearchTree_ = value;
3533 bitField0_ |= 0x00000200;
3545 public Builder clearPruneSearchTree() {
3546 bitField0_ = (bitField0_ & ~0x00000200);
3547 pruneSearchTree_ = false;
3552 private boolean sortConstraintsByNumTerms_ ;
3563 public boolean hasSortConstraintsByNumTerms() {
3564 return ((bitField0_ & 0x00000400) != 0);
3576 public boolean getSortConstraintsByNumTerms() {
3577 return sortConstraintsByNumTerms_;
3589 public Builder setSortConstraintsByNumTerms(boolean value) {
3591 sortConstraintsByNumTerms_ = value;
3592 bitField0_ |= 0x00000400;
3605 public Builder clearSortConstraintsByNumTerms() {
3606 bitField0_ = (bitField0_ & ~0x00000400);
3607 sortConstraintsByNumTerms_ = false;
3612 private boolean useRandomLns_ = true;
3622 public boolean hasUseRandomLns() {
3623 return ((bitField0_ & 0x00000800) != 0);
3634 public boolean getUseRandomLns() {
3635 return useRandomLns_;
3646 public Builder setUseRandomLns(boolean value) {
3648 useRandomLns_ = value;
3649 bitField0_ |= 0x00000800;
3661 public Builder clearUseRandomLns() {
3662 bitField0_ = (bitField0_ & ~0x00000800);
3663 useRandomLns_ = true;
3668 private int randomSeed_ = 8;
3682 public boolean hasRandomSeed() {
3683 return ((bitField0_ & 0x00001000) != 0);
3698 public int getRandomSeed() {
3714 public Builder setRandomSeed(int value) {
3716 randomSeed_ = value;
3717 bitField0_ |= 0x00001000;
3733 public Builder clearRandomSeed() {
3734 bitField0_ = (bitField0_ & ~0x00001000);
3740 private int numRelaxedVars_ = 10;
3750 public boolean hasNumRelaxedVars() {
3751 return ((bitField0_ & 0x00002000) != 0);
3762 public int getNumRelaxedVars() {
3763 return numRelaxedVars_;
3774 public Builder setNumRelaxedVars(int value) {
3776 numRelaxedVars_ = value;
3777 bitField0_ |= 0x00002000;
3789 public Builder clearNumRelaxedVars() {
3790 bitField0_ = (bitField0_ & ~0x00002000);
3791 numRelaxedVars_ = 10;
3796 private int maxNumberOfConflictsInRandomLns_ = 2500;
3807 public boolean hasMaxNumberOfConflictsInRandomLns() {
3808 return ((bitField0_ & 0x00004000) != 0);
3820 public int getMaxNumberOfConflictsInRandomLns() {
3821 return maxNumberOfConflictsInRandomLns_;
3833 public Builder setMaxNumberOfConflictsInRandomLns(int value) {
3835 maxNumberOfConflictsInRandomLns_ = value;
3836 bitField0_ |= 0x00004000;
3849 public Builder clearMaxNumberOfConflictsInRandomLns() {
3850 bitField0_ = (bitField0_ & ~0x00004000);
3851 maxNumberOfConflictsInRandomLns_ = 2500;
3856 private int numRandomLnsTries_ = 1;
3866 public boolean hasNumRandomLnsTries() {
3867 return ((bitField0_ & 0x00008000) != 0);
3878 public int getNumRandomLnsTries() {
3879 return numRandomLnsTries_;
3890 public Builder setNumRandomLnsTries(int value) {
3892 numRandomLnsTries_ = value;
3893 bitField0_ |= 0x00008000;
3905 public Builder clearNumRandomLnsTries() {
3906 bitField0_ = (bitField0_ & ~0x00008000);
3907 numRandomLnsTries_ = 1;
3912 private long maxNumberOfBacktracksInLs_ = 100000000L;
3923 public boolean hasMaxNumberOfBacktracksInLs() {
3924 return ((bitField0_ & 0x00010000) != 0);
3936 public long getMaxNumberOfBacktracksInLs() {
3937 return maxNumberOfBacktracksInLs_;
3949 public Builder setMaxNumberOfBacktracksInLs(long value) {
3951 maxNumberOfBacktracksInLs_ = value;
3952 bitField0_ |= 0x00010000;
3965 public Builder clearMaxNumberOfBacktracksInLs() {
3966 bitField0_ = (bitField0_ & ~0x00010000);
3967 maxNumberOfBacktracksInLs_ = 100000000L;
3972 private boolean useLpLns_ = true;
3982 public boolean hasUseLpLns() {
3983 return ((bitField0_ & 0x00020000) != 0);
3994 public boolean getUseLpLns() {
4006 public Builder setUseLpLns(boolean value) {
4009 bitField0_ |= 0x00020000;
4021 public Builder clearUseLpLns() {
4022 bitField0_ = (bitField0_ & ~0x00020000);
4028 private boolean useSatToChooseLnsNeighbourhood_ = true;
4038 public boolean hasUseSatToChooseLnsNeighbourhood() {
4039 return ((bitField0_ & 0x00040000) != 0);
4050 public boolean getUseSatToChooseLnsNeighbourhood() {
4051 return useSatToChooseLnsNeighbourhood_;
4062 public Builder setUseSatToChooseLnsNeighbourhood(boolean value) {
4064 useSatToChooseLnsNeighbourhood_ = value;
4065 bitField0_ |= 0x00040000;
4077 public Builder clearUseSatToChooseLnsNeighbourhood() {
4078 bitField0_ = (bitField0_ & ~0x00040000);
4079 useSatToChooseLnsNeighbourhood_ = true;
4084 private int maxNumberOfConflictsForQuickCheck_ = 10;
4095 public boolean hasMaxNumberOfConflictsForQuickCheck() {
4096 return ((bitField0_ & 0x00080000) != 0);
4108 public int getMaxNumberOfConflictsForQuickCheck() {
4109 return maxNumberOfConflictsForQuickCheck_;
4121 public Builder setMaxNumberOfConflictsForQuickCheck(int value) {
4123 maxNumberOfConflictsForQuickCheck_ = value;
4124 bitField0_ |= 0x00080000;
4137 public Builder clearMaxNumberOfConflictsForQuickCheck() {
4138 bitField0_ = (bitField0_ & ~0x00080000);
4139 maxNumberOfConflictsForQuickCheck_ = 10;
4144 private boolean useSymmetry_ ;
4158 public boolean hasUseSymmetry() {
4159 return ((bitField0_ & 0x00100000) != 0);
4174 public boolean getUseSymmetry() {
4175 return useSymmetry_;
4190 public Builder setUseSymmetry(boolean value) {
4192 useSymmetry_ = value;
4193 bitField0_ |= 0x00100000;
4209 public Builder clearUseSymmetry() {
4210 bitField0_ = (bitField0_ & ~0x00100000);
4211 useSymmetry_ = false;
4216 private boolean exploitSymmetryInSatFirstSolution_ ;
4230 public boolean hasExploitSymmetryInSatFirstSolution() {
4231 return ((bitField0_ & 0x00200000) != 0);
4246 public boolean getExploitSymmetryInSatFirstSolution() {
4247 return exploitSymmetryInSatFirstSolution_;
4262 public Builder setExploitSymmetryInSatFirstSolution(boolean value) {
4264 exploitSymmetryInSatFirstSolution_ = value;
4265 bitField0_ |= 0x00200000;
4281 public Builder clearExploitSymmetryInSatFirstSolution() {
4282 bitField0_ = (bitField0_ & ~0x00200000);
4283 exploitSymmetryInSatFirstSolution_ = false;
4288 private int maxNumberOfConflictsInRandomSolutionGeneration_ = 500;
4298 public boolean hasMaxNumberOfConflictsInRandomSolutionGeneration() {
4299 return ((bitField0_ & 0x00400000) != 0);
4310 public int getMaxNumberOfConflictsInRandomSolutionGeneration() {
4311 return maxNumberOfConflictsInRandomSolutionGeneration_;
4322 public Builder setMaxNumberOfConflictsInRandomSolutionGeneration(int value) {
4324 maxNumberOfConflictsInRandomSolutionGeneration_ = value;
4325 bitField0_ |= 0x00400000;
4337 public Builder clearMaxNumberOfConflictsInRandomSolutionGeneration() {
4338 bitField0_ = (bitField0_ & ~0x00400000);
4339 maxNumberOfConflictsInRandomSolutionGeneration_ = 500;
4344 private long maxNumberOfExploredAssignmentsPerTryInLs_ = 10000L;
4357 public boolean hasMaxNumberOfExploredAssignmentsPerTryInLs() {
4358 return ((bitField0_ & 0x00800000) != 0);
4372 public long getMaxNumberOfExploredAssignmentsPerTryInLs() {
4373 return maxNumberOfExploredAssignmentsPerTryInLs_;
4387 public Builder setMaxNumberOfExploredAssignmentsPerTryInLs(long value) {
4389 maxNumberOfExploredAssignmentsPerTryInLs_ = value;
4390 bitField0_ |= 0x00800000;
4405 public Builder clearMaxNumberOfExploredAssignmentsPerTryInLs() {
4406 bitField0_ = (bitField0_ & ~0x00800000);
4407 maxNumberOfExploredAssignmentsPerTryInLs_ = 10000L;
4412 private boolean useTranspositionTableInLs_ = true;
4425 public boolean hasUseTranspositionTableInLs() {
4426 return ((bitField0_ & 0x01000000) != 0);
4440 public boolean getUseTranspositionTableInLs() {
4441 return useTranspositionTableInLs_;
4455 public Builder setUseTranspositionTableInLs(boolean value) {
4457 useTranspositionTableInLs_ = value;
4458 bitField0_ |= 0x01000000;
4473 public Builder clearUseTranspositionTableInLs() {
4474 bitField0_ = (bitField0_ & ~0x01000000);
4475 useTranspositionTableInLs_ = true;
4480 private boolean usePotentialOneFlipRepairsInLs_ ;
4492 public boolean hasUsePotentialOneFlipRepairsInLs() {
4493 return ((bitField0_ & 0x02000000) != 0);
4506 public boolean getUsePotentialOneFlipRepairsInLs() {
4507 return usePotentialOneFlipRepairsInLs_;
4520 public Builder setUsePotentialOneFlipRepairsInLs(boolean value) {
4522 usePotentialOneFlipRepairsInLs_ = value;
4523 bitField0_ |= 0x02000000;
4537 public Builder clearUsePotentialOneFlipRepairsInLs() {
4538 bitField0_ = (bitField0_ & ~0x02000000);
4539 usePotentialOneFlipRepairsInLs_ = false;
4544 private boolean useLearnedBinaryClausesInLp_ = true;
4554 public boolean hasUseLearnedBinaryClausesInLp() {
4555 return ((bitField0_ & 0x04000000) != 0);
4566 public boolean getUseLearnedBinaryClausesInLp() {
4567 return useLearnedBinaryClausesInLp_;
4578 public Builder setUseLearnedBinaryClausesInLp(boolean value) {
4580 useLearnedBinaryClausesInLp_ = value;
4581 bitField0_ |= 0x04000000;
4593 public Builder clearUseLearnedBinaryClausesInLp() {
4594 bitField0_ = (bitField0_ & ~0x04000000);
4595 useLearnedBinaryClausesInLp_ = true;
4600 private int numberOfSolvers_ = 1;
4612 public boolean hasNumberOfSolvers() {
4613 return ((bitField0_ & 0x08000000) != 0);
4626 public int getNumberOfSolvers() {
4627 return numberOfSolvers_;
4640 public Builder setNumberOfSolvers(int value) {
4642 numberOfSolvers_ = value;
4643 bitField0_ |= 0x08000000;
4657 public Builder clearNumberOfSolvers() {
4658 bitField0_ = (bitField0_ & ~0x08000000);
4659 numberOfSolvers_ = 1;
4664 private int synchronizationType_ = 0;
4669 @java.lang.Override public boolean hasSynchronizationType() {
4670 return ((bitField0_ & 0x10000000) != 0);
4677 public com.google.ortools.bop.BopParameters.ThreadSynchronizationType getSynchronizationType() {
4678 com.google.ortools.bop.BopParameters.ThreadSynchronizationType result = com.google.ortools.bop.BopParameters.ThreadSynchronizationType.forNumber(synchronizationType_);
4679 return result == null ? com.google.ortools.bop.BopParameters.ThreadSynchronizationType.NO_SYNCHRONIZATION : result;
4686 public Builder setSynchronizationType(com.google.ortools.bop.BopParameters.ThreadSynchronizationType value) {
4687 if (value == null) {
4688 throw new NullPointerException();
4690 bitField0_ |= 0x10000000;
4691 synchronizationType_ = value.getNumber();
4699 public Builder clearSynchronizationType() {
4700 bitField0_ = (bitField0_ & ~0x10000000);
4701 synchronizationType_ = 0;
4706 private java.util.List<com.google.ortools.bop.BopSolverOptimizerSet> solverOptimizerSets_ =
4707 java.util.Collections.emptyList();
4708 private void ensureSolverOptimizerSetsIsMutable() {
4709 if (!((bitField0_ & 0x20000000) != 0)) {
4710 solverOptimizerSets_ = new java.util.ArrayList<com.google.ortools.bop.BopSolverOptimizerSet>(solverOptimizerSets_);
4711 bitField0_ |= 0x20000000;
4715 private com.google.protobuf.RepeatedFieldBuilderV3<
4716 com.google.ortools.bop.BopSolverOptimizerSet, com.google.ortools.bop.BopSolverOptimizerSet.Builder, com.google.ortools.bop.BopSolverOptimizerSetOrBuilder> solverOptimizerSetsBuilder_;
4728 public java.util.List<com.google.ortools.bop.BopSolverOptimizerSet> getSolverOptimizerSetsList() {
4729 if (solverOptimizerSetsBuilder_ == null) {
4730 return java.util.Collections.unmodifiableList(solverOptimizerSets_);
4732 return solverOptimizerSetsBuilder_.getMessageList();
4745 public int getSolverOptimizerSetsCount() {
4746 if (solverOptimizerSetsBuilder_ == null) {
4747 return solverOptimizerSets_.size();
4749 return solverOptimizerSetsBuilder_.getCount();
4762 public com.google.ortools.bop.BopSolverOptimizerSet getSolverOptimizerSets(int index) {
4763 if (solverOptimizerSetsBuilder_ == null) {
4764 return solverOptimizerSets_.get(index);
4766 return solverOptimizerSetsBuilder_.getMessage(index);
4779 public Builder setSolverOptimizerSets(
4780 int index, com.google.ortools.bop.BopSolverOptimizerSet value) {
4781 if (solverOptimizerSetsBuilder_ == null) {
4782 if (value == null) {
4783 throw new NullPointerException();
4785 ensureSolverOptimizerSetsIsMutable();
4786 solverOptimizerSets_.set(index, value);
4789 solverOptimizerSetsBuilder_.setMessage(index, value);
4803 public Builder setSolverOptimizerSets(
4804 int index, com.google.ortools.bop.BopSolverOptimizerSet.Builder builderForValue) {
4805 if (solverOptimizerSetsBuilder_ == null) {
4806 ensureSolverOptimizerSetsIsMutable();
4807 solverOptimizerSets_.set(index, builderForValue.build());
4810 solverOptimizerSetsBuilder_.setMessage(index, builderForValue.build());
4824 public Builder addSolverOptimizerSets(com.google.ortools.bop.BopSolverOptimizerSet value) {
4825 if (solverOptimizerSetsBuilder_ == null) {
4826 if (value == null) {
4827 throw new NullPointerException();
4829 ensureSolverOptimizerSetsIsMutable();
4830 solverOptimizerSets_.add(value);
4833 solverOptimizerSetsBuilder_.addMessage(value);
4847 public Builder addSolverOptimizerSets(
4848 int index, com.google.ortools.bop.BopSolverOptimizerSet value) {
4849 if (solverOptimizerSetsBuilder_ == null) {
4850 if (value == null) {
4851 throw new NullPointerException();
4853 ensureSolverOptimizerSetsIsMutable();
4854 solverOptimizerSets_.add(index, value);
4857 solverOptimizerSetsBuilder_.addMessage(index, value);
4871 public Builder addSolverOptimizerSets(
4872 com.google.ortools.bop.BopSolverOptimizerSet.Builder builderForValue) {
4873 if (solverOptimizerSetsBuilder_ == null) {
4874 ensureSolverOptimizerSetsIsMutable();
4875 solverOptimizerSets_.add(builderForValue.build());
4878 solverOptimizerSetsBuilder_.addMessage(builderForValue.build());
4892 public Builder addSolverOptimizerSets(
4893 int index, com.google.ortools.bop.BopSolverOptimizerSet.Builder builderForValue) {
4894 if (solverOptimizerSetsBuilder_ == null) {
4895 ensureSolverOptimizerSetsIsMutable();
4896 solverOptimizerSets_.add(index, builderForValue.build());
4899 solverOptimizerSetsBuilder_.addMessage(index, builderForValue.build());
4913 public Builder addAllSolverOptimizerSets(
4914 java.lang.Iterable<? extends com.google.ortools.bop.BopSolverOptimizerSet> values) {
4915 if (solverOptimizerSetsBuilder_ == null) {
4916 ensureSolverOptimizerSetsIsMutable();
4917 com.google.protobuf.AbstractMessageLite.Builder.addAll(
4918 values, solverOptimizerSets_);
4921 solverOptimizerSetsBuilder_.addAllMessages(values);
4935 public Builder clearSolverOptimizerSets() {
4936 if (solverOptimizerSetsBuilder_ == null) {
4937 solverOptimizerSets_ = java.util.Collections.emptyList();
4938 bitField0_ = (bitField0_ & ~0x20000000);
4941 solverOptimizerSetsBuilder_.clear();
4955 public Builder removeSolverOptimizerSets(int index) {
4956 if (solverOptimizerSetsBuilder_ == null) {
4957 ensureSolverOptimizerSetsIsMutable();
4958 solverOptimizerSets_.remove(index);
4961 solverOptimizerSetsBuilder_.remove(index);
4975 public com.google.ortools.bop.BopSolverOptimizerSet.Builder getSolverOptimizerSetsBuilder(
4977 return getSolverOptimizerSetsFieldBuilder().getBuilder(index);
4989 public com.google.ortools.bop.BopSolverOptimizerSetOrBuilder getSolverOptimizerSetsOrBuilder(
4991 if (solverOptimizerSetsBuilder_ == null) {
4992 return solverOptimizerSets_.get(index); } else {
4993 return solverOptimizerSetsBuilder_.getMessageOrBuilder(index);
5006 public java.util.List<? extends com.google.ortools.bop.BopSolverOptimizerSetOrBuilder>
5007 getSolverOptimizerSetsOrBuilderList() {
5008 if (solverOptimizerSetsBuilder_ != null) {
5009 return solverOptimizerSetsBuilder_.getMessageOrBuilderList();
5011 return java.util.Collections.unmodifiableList(solverOptimizerSets_);
5024 public com.google.ortools.bop.BopSolverOptimizerSet.Builder addSolverOptimizerSetsBuilder() {
5025 return getSolverOptimizerSetsFieldBuilder().addBuilder(
5026 com.google.ortools.bop.BopSolverOptimizerSet.getDefaultInstance());
5038 public com.google.ortools.bop.BopSolverOptimizerSet.Builder addSolverOptimizerSetsBuilder(
5040 return getSolverOptimizerSetsFieldBuilder().addBuilder(
5041 index, com.google.ortools.bop.BopSolverOptimizerSet.getDefaultInstance());
5053 public java.util.List<com.google.ortools.bop.BopSolverOptimizerSet.Builder>
5054 getSolverOptimizerSetsBuilderList() {
5055 return getSolverOptimizerSetsFieldBuilder().getBuilderList();
5057 private com.google.protobuf.RepeatedFieldBuilderV3<
5058 com.google.ortools.bop.BopSolverOptimizerSet, com.google.ortools.bop.BopSolverOptimizerSet.Builder, com.google.ortools.bop.BopSolverOptimizerSetOrBuilder>
5059 getSolverOptimizerSetsFieldBuilder() {
5060 if (solverOptimizerSetsBuilder_ == null) {
5061 solverOptimizerSetsBuilder_ = new com.google.protobuf.RepeatedFieldBuilderV3<
5062 com.google.ortools.bop.BopSolverOptimizerSet, com.google.ortools.bop.BopSolverOptimizerSet.Builder, com.google.ortools.bop.BopSolverOptimizerSetOrBuilder>(
5063 solverOptimizerSets_,
5064 ((bitField0_ & 0x20000000) != 0),
5065 getParentForChildren(),
5067 solverOptimizerSets_ = null;
5069 return solverOptimizerSetsBuilder_;
5072 private java.lang.Object defaultSolverOptimizerSets_ = "methods:{type:LOCAL_SEARCH } methods:{type:RANDOM_FIRST_SOLUTION } methods:{type:LINEAR_RELAXATION } methods:{type:LP_FIRST_SOLUTION } methods:{type:OBJECTIVE_FIRST_SOLUTION } methods:{type:USER_GUIDED_FIRST_SOLUTION } methods:{type:RANDOM_CONSTRAINT_LNS_GUIDED_BY_LP } methods:{type:RANDOM_VARIABLE_LNS_GUIDED_BY_LP } methods:{type:RELATION_GRAPH_LNS } methods:{type:RELATION_GRAPH_LNS_GUIDED_BY_LP } methods:{type:RANDOM_CONSTRAINT_LNS } methods:{type:RANDOM_VARIABLE_LNS } methods:{type:SAT_CORE_BASED } methods:{type:COMPLETE_LNS }
";
5077 public boolean hasDefaultSolverOptimizerSets() {
5078 return ((bitField0_ & 0x40000000) != 0);
5084 public java.lang.String getDefaultSolverOptimizerSets() {
5085 java.lang.Object ref = defaultSolverOptimizerSets_;
5086 if (!(ref instanceof java.lang.String)) {
5087 com.google.protobuf.ByteString bs =
5088 (com.google.protobuf.ByteString) ref;
5089 java.lang.String s = bs.toStringUtf8();
5090 if (bs.isValidUtf8()) {
5091 defaultSolverOptimizerSets_ = s;
5095 return (java.lang.String) ref;
5102 public com.google.protobuf.ByteString
5103 getDefaultSolverOptimizerSetsBytes() {
5104 java.lang.Object ref = defaultSolverOptimizerSets_;
5105 if (ref instanceof String) {
5106 com.google.protobuf.ByteString b =
5107 com.google.protobuf.ByteString.copyFromUtf8(
5108 (java.lang.String) ref);
5109 defaultSolverOptimizerSets_ = b;
5112 return (com.google.protobuf.ByteString) ref;
5120 public Builder setDefaultSolverOptimizerSets(
5121 java.lang.String value) {
5122 if (value == null) { throw new NullPointerException(); }
5123 defaultSolverOptimizerSets_ = value;
5124 bitField0_ |= 0x40000000;
5132 public Builder clearDefaultSolverOptimizerSets() {
5133 defaultSolverOptimizerSets_ = getDefaultInstance().getDefaultSolverOptimizerSets();
5134 bitField0_ = (bitField0_ & ~0x40000000);
5143 public Builder setDefaultSolverOptimizerSetsBytes(
5144 com.google.protobuf.ByteString value) {
5145 if (value == null) { throw new NullPointerException(); }
5146 defaultSolverOptimizerSets_ = value;
5147 bitField0_ |= 0x40000000;
5152 private boolean useLpStrongBranching_ ;
5170 public boolean hasUseLpStrongBranching() {
5171 return ((bitField0_ & 0x80000000) != 0);
5190 public boolean getUseLpStrongBranching() {
5191 return useLpStrongBranching_;
5210 public Builder setUseLpStrongBranching(boolean value) {
5212 useLpStrongBranching_ = value;
5213 bitField0_ |= 0x80000000;
5233 public Builder clearUseLpStrongBranching() {
5234 bitField0_ = (bitField0_ & ~0x80000000);
5235 useLpStrongBranching_ = false;
5240 private int decomposerNumVariablesThreshold_ = 50;
5251 public boolean hasDecomposerNumVariablesThreshold() {
5252 return ((bitField1_ & 0x00000001) != 0);
5264 public int getDecomposerNumVariablesThreshold() {
5265 return decomposerNumVariablesThreshold_;
5277 public Builder setDecomposerNumVariablesThreshold(int value) {
5279 decomposerNumVariablesThreshold_ = value;
5280 bitField1_ |= 0x00000001;
5293 public Builder clearDecomposerNumVariablesThreshold() {
5294 bitField1_ = (bitField1_ & ~0x00000001);
5295 decomposerNumVariablesThreshold_ = 50;
5300 private int numBopSolversUsedByDecomposition_ = 1;
5312 public boolean hasNumBopSolversUsedByDecomposition() {
5313 return ((bitField1_ & 0x00000002) != 0);
5326 public int getNumBopSolversUsedByDecomposition() {
5327 return numBopSolversUsedByDecomposition_;
5340 public Builder setNumBopSolversUsedByDecomposition(int value) {
5342 numBopSolversUsedByDecomposition_ = value;
5343 bitField1_ |= 0x00000002;
5357 public Builder clearNumBopSolversUsedByDecomposition() {
5358 bitField1_ = (bitField1_ & ~0x00000002);
5359 numBopSolversUsedByDecomposition_ = 1;
5364 private double decomposedProblemMinTimeInSeconds_ ;
5377 public boolean hasDecomposedProblemMinTimeInSeconds() {
5378 return ((bitField1_ & 0x00000004) != 0);
5392 public double getDecomposedProblemMinTimeInSeconds() {
5393 return decomposedProblemMinTimeInSeconds_;
5407 public Builder setDecomposedProblemMinTimeInSeconds(double value) {
5409 decomposedProblemMinTimeInSeconds_ = value;
5410 bitField1_ |= 0x00000004;
5425 public Builder clearDecomposedProblemMinTimeInSeconds() {
5426 bitField1_ = (bitField1_ & ~0x00000004);
5427 decomposedProblemMinTimeInSeconds_ = 0D;
5432 private int guidedSatConflictsChunk_ = 1000;
5444 public boolean hasGuidedSatConflictsChunk() {
5445 return ((bitField1_ & 0x00000008) != 0);
5458 public int getGuidedSatConflictsChunk() {
5459 return guidedSatConflictsChunk_;
5472 public Builder setGuidedSatConflictsChunk(int value) {
5474 guidedSatConflictsChunk_ = value;
5475 bitField1_ |= 0x00000008;
5489 public Builder clearGuidedSatConflictsChunk() {
5490 bitField1_ = (bitField1_ & ~0x00000008);
5491 guidedSatConflictsChunk_ = 1000;
5496 private int maxLpSolveForFeasibilityProblems_ ;
5509 public boolean hasMaxLpSolveForFeasibilityProblems() {
5510 return ((bitField1_ & 0x00000010) != 0);
5524 public int getMaxLpSolveForFeasibilityProblems() {
5525 return maxLpSolveForFeasibilityProblems_;
5539 public Builder setMaxLpSolveForFeasibilityProblems(int value) {
5541 maxLpSolveForFeasibilityProblems_ = value;
5542 bitField1_ |= 0x00000010;
5557 public Builder clearMaxLpSolveForFeasibilityProblems() {
5558 bitField1_ = (bitField1_ & ~0x00000010);
5559 maxLpSolveForFeasibilityProblems_ = 0;
5564 public final Builder setUnknownFields(
5565 final com.google.protobuf.UnknownFieldSet unknownFields) {
5566 return super.setUnknownFields(unknownFields);
5570 public final Builder mergeUnknownFields(
5571 final com.google.protobuf.UnknownFieldSet unknownFields) {
5572 return super.mergeUnknownFields(unknownFields);
5576 // @@protoc_insertion_point(builder_scope:operations_research.bop.BopParameters)