> ## Documentation Index
> Fetch the complete documentation index at: https://docs.kinetica.com/llms.txt
> Use this file to discover all available pages before exploring further.

# kinetica.SolveGraphRequest.SolverType

> kinetica.SolveGraphRequest.SolverType — Kinetica C# API

<div className="kinetica-doxygen">
  <div className="contents">
    <p>A set of string constants for the parameter <a className="el" href="/content/api/cs/classkinetica_1_1SolveGraphRequest#a1c866221be7d23c08360370095b402de" title="The type of solver to use for the graph.">SolveGraphRequest.solver\_type</a>. <a href="#details">More...</a></p>

    <table className="memberdecls">
      <tr className="heading">
        <td colSpan="2">
          <h2 className="groupheader">
            <div id="pub-static-attribs" />

            Static Public Attributes
          </h2>
        </td>
      </tr>

      <tr className="memitem:a768f9cb785d2677ebe4c0a750119ef33" id="r_a768f9cb785d2677ebe4c0a750119ef33">
        <td className="memItemLeft" align="right" valign="top">const string </td>
        <td className="memItemRight" valign="bottom"><a className="el" href="#a768f9cb785d2677ebe4c0a750119ef33">SHORTEST\_PATH</a> = "SHORTEST\_PATH"</td>
      </tr>

      <tr className="memdesc:a768f9cb785d2677ebe4c0a750119ef33">
        <td className="mdescLeft"> </td>
        <td className="mdescRight">Solves for the optimal (shortest) path based on weights and restrictions from one source to destinations nodes. <br /></td>
      </tr>

      <tr className="separator:a768f9cb785d2677ebe4c0a750119ef33">
        <td className="memSeparator" colSpan="2"> </td>
      </tr>

      <tr className="memitem:aa9f2fdf8330a99f7c39c1e073730e72e" id="r_aa9f2fdf8330a99f7c39c1e073730e72e">
        <td className="memItemLeft" align="right" valign="top">const string </td>
        <td className="memItemRight" valign="bottom"><a className="el" href="#aa9f2fdf8330a99f7c39c1e073730e72e">PAGE\_RANK</a> = "PAGE\_RANK"</td>
      </tr>

      <tr className="memdesc:aa9f2fdf8330a99f7c39c1e073730e72e">
        <td className="mdescLeft"> </td>
        <td className="mdescRight">Solves for the probability of each destination node being visited based on the links of the graph topology. <br /></td>
      </tr>

      <tr className="separator:aa9f2fdf8330a99f7c39c1e073730e72e">
        <td className="memSeparator" colSpan="2"> </td>
      </tr>

      <tr className="memitem:aa911d7a787d80b4cf5ce1bf72759feb2" id="r_aa911d7a787d80b4cf5ce1bf72759feb2">
        <td className="memItemLeft" align="right" valign="top">const string </td>
        <td className="memItemRight" valign="bottom"><a className="el" href="#aa911d7a787d80b4cf5ce1bf72759feb2">PROBABILITY\_RANK</a> = "PROBABILITY\_RANK"</td>
      </tr>

      <tr className="memdesc:aa911d7a787d80b4cf5ce1bf72759feb2">
        <td className="mdescLeft"> </td>
        <td className="mdescRight">Solves for the transitional probability (Hidden Markov) for each node based on the weights (probability assigned over given edges). <br /></td>
      </tr>

      <tr className="separator:aa911d7a787d80b4cf5ce1bf72759feb2">
        <td className="memSeparator" colSpan="2"> </td>
      </tr>

      <tr className="memitem:ad573e1d2cb51ee4196f2375665e04868" id="r_ad573e1d2cb51ee4196f2375665e04868">
        <td className="memItemLeft" align="right" valign="top">const string </td>
        <td className="memItemRight" valign="bottom"><a className="el" href="#ad573e1d2cb51ee4196f2375665e04868">CENTRALITY</a> = "CENTRALITY"</td>
      </tr>

      <tr className="memdesc:ad573e1d2cb51ee4196f2375665e04868">
        <td className="mdescLeft"> </td>
        <td className="mdescRight">Solves for the degree of a node to depict how many pairs of individuals that would have to go through the node to reach one another in the minimum number of hops. <br /></td>
      </tr>

      <tr className="separator:ad573e1d2cb51ee4196f2375665e04868">
        <td className="memSeparator" colSpan="2"> </td>
      </tr>

      <tr className="memitem:ab24108505ff7f31df467708b01049276" id="r_ab24108505ff7f31df467708b01049276">
        <td className="memItemLeft" align="right" valign="top">const string </td>
        <td className="memItemRight" valign="bottom"><a className="el" href="#ab24108505ff7f31df467708b01049276">MULTIPLE\_ROUTING</a> = "MULTIPLE\_ROUTING"</td>
      </tr>

      <tr className="memdesc:ab24108505ff7f31df467708b01049276">
        <td className="mdescLeft"> </td>
        <td className="mdescRight">Solves for finding the minimum cost cumulative path for a round-trip starting from the given source and visiting each given destination node once then returning to the source. <br /></td>
      </tr>

      <tr className="separator:ab24108505ff7f31df467708b01049276">
        <td className="memSeparator" colSpan="2"> </td>
      </tr>

      <tr className="memitem:af051d0967986bcc4317c7ac1feeec819" id="r_af051d0967986bcc4317c7ac1feeec819">
        <td className="memItemLeft" align="right" valign="top">const string </td>
        <td className="memItemRight" valign="bottom"><a className="el" href="#af051d0967986bcc4317c7ac1feeec819">INVERSE\_SHORTEST\_PATH</a> = "INVERSE\_SHORTEST\_PATH"</td>
      </tr>

      <tr className="memdesc:af051d0967986bcc4317c7ac1feeec819">
        <td className="mdescLeft"> </td>
        <td className="mdescRight">Solves for finding the optimal path cost for each destination node to route to the source node. <br /></td>
      </tr>

      <tr className="separator:af051d0967986bcc4317c7ac1feeec819">
        <td className="memSeparator" colSpan="2"> </td>
      </tr>

      <tr className="memitem:afafdb2c8d6f7d701d60545ea1c86f7dc" id="r_afafdb2c8d6f7d701d60545ea1c86f7dc">
        <td className="memItemLeft" align="right" valign="top">const string </td>
        <td className="memItemRight" valign="bottom"><a className="el" href="#afafdb2c8d6f7d701d60545ea1c86f7dc">BACKHAUL\_ROUTING</a> = "BACKHAUL\_ROUTING"</td>
      </tr>

      <tr className="memdesc:afafdb2c8d6f7d701d60545ea1c86f7dc">
        <td className="mdescLeft"> </td>
        <td className="mdescRight">Solves for optimal routes that connect remote asset nodes to the fixed (backbone) asset nodes. <br /></td>
      </tr>

      <tr className="separator:afafdb2c8d6f7d701d60545ea1c86f7dc">
        <td className="memSeparator" colSpan="2"> </td>
      </tr>

      <tr className="memitem:a8a2037253d36e9155b315c70a1565319" id="r_a8a2037253d36e9155b315c70a1565319">
        <td className="memItemLeft" align="right" valign="top">const string </td>
        <td className="memItemRight" valign="bottom"><a className="el" href="#a8a2037253d36e9155b315c70a1565319">ALLPATHS</a> = "ALLPATHS"</td>
      </tr>

      <tr className="memdesc:a8a2037253d36e9155b315c70a1565319">
        <td className="mdescLeft"> </td>
        <td className="mdescRight">Solves for paths that would give costs between max and min solution radia - Make sure to limit by the 'max\_solution\_targets' option. <br /></td>
      </tr>

      <tr className="separator:a8a2037253d36e9155b315c70a1565319">
        <td className="memSeparator" colSpan="2"> </td>
      </tr>

      <tr className="memitem:a0201914568ae02807e05c349130ebb65" id="r_a0201914568ae02807e05c349130ebb65">
        <td className="memItemLeft" align="right" valign="top">const string </td>
        <td className="memItemRight" valign="bottom"><a className="el" href="#a0201914568ae02807e05c349130ebb65">STATS\_ALL</a> = "STATS\_ALL"</td>
      </tr>

      <tr className="memdesc:a0201914568ae02807e05c349130ebb65">
        <td className="mdescLeft"> </td>
        <td className="mdescRight">Solves for graph statistics such as graph diameter, longest pairs, vertex valences, topology numbers, average and max cluster sizes, etc. <br /></td>
      </tr>

      <tr className="separator:a0201914568ae02807e05c349130ebb65">
        <td className="memSeparator" colSpan="2"> </td>
      </tr>

      <tr className="memitem:a6b19e58e527477eba25025bf788bb2ac" id="r_a6b19e58e527477eba25025bf788bb2ac">
        <td className="memItemLeft" align="right" valign="top">const string </td>
        <td className="memItemRight" valign="bottom"><a className="el" href="#a6b19e58e527477eba25025bf788bb2ac">CLOSENESS</a> = "CLOSENESS"</td>
      </tr>

      <tr className="memdesc:a6b19e58e527477eba25025bf788bb2ac">
        <td className="mdescLeft"> </td>
        <td className="mdescRight">Solves for the centrality closeness score per node as the sum of the inverse shortest path costs to all nodes in the graph. <br /></td>
      </tr>

      <tr className="separator:a6b19e58e527477eba25025bf788bb2ac">
        <td className="memSeparator" colSpan="2"> </td>
      </tr>
    </table>

    <div id="details" />

    <h2 className="groupheader">Detailed Description</h2>

    <div className="textblock">
      <p>A set of string constants for the parameter <a className="el" href="/content/api/cs/classkinetica_1_1SolveGraphRequest#a1c866221be7d23c08360370095b402de" title="The type of solver to use for the graph.">SolveGraphRequest.solver\_type</a>. </p>
      <p>The type of solver to use for the graph.</p>
      <p className="definition">Definition at line <a className="el" href="https://github.com/kineticadb/kinetica-api-cs/blob/master/Kinetica/Protocol/SolveGraph.cs#L31">31</a> of file <a className="el" href="https://github.com/kineticadb/kinetica-api-cs/blob/master/Kinetica/Protocol/SolveGraph.cs">SolveGraph.cs</a>.</p>
    </div>

    <h2 className="groupheader">Member Data Documentation</h2>

    <div id="a8a2037253d36e9155b315c70a1565319" />

    <h2 className="memtitle"><span className="permalink"><a href="#a8a2037253d36e9155b315c70a1565319">◆ </a></span>ALLPATHS</h2>

    <div className="memitem">
      <div className="memproto">
        <table className="mlabels">
          <tr>
            <td className="mlabels-left">
              <table className="memname">
                <tr>
                  <td className="memname">const string kinetica.SolveGraphRequest.SolverType.ALLPATHS = "ALLPATHS"</td>
                </tr>
              </table>
            </td>

            <td className="mlabels-right"> <span className="mlabels"><span className="mlabel static">static</span></span> </td>
          </tr>
        </table>
      </div>

      <div className="memdoc">
        <p>Solves for paths that would give costs between max and min solution radia - Make sure to limit by the 'max\_solution\_targets' option. </p>
        <p>Min cost should be >= shortest\_path cost.</p>
        <p className="definition">Definition at line <a className="el" href="https://github.com/kineticadb/kinetica-api-cs/blob/master/Kinetica/Protocol/SolveGraph.cs#L77">77</a> of file <a className="el" href="https://github.com/kineticadb/kinetica-api-cs/blob/master/Kinetica/Protocol/SolveGraph.cs">SolveGraph.cs</a>.</p>
      </div>
    </div>

    <div id="afafdb2c8d6f7d701d60545ea1c86f7dc" />

    <h2 className="memtitle"><span className="permalink"><a href="#afafdb2c8d6f7d701d60545ea1c86f7dc">◆ </a></span>BACKHAUL\_ROUTING</h2>

    <div className="memitem">
      <div className="memproto">
        <table className="mlabels">
          <tr>
            <td className="mlabels-left">
              <table className="memname">
                <tr>
                  <td className="memname">const string kinetica.SolveGraphRequest.SolverType.BACKHAUL\_ROUTING = "BACKHAUL\_ROUTING"</td>
                </tr>
              </table>
            </td>

            <td className="mlabels-right"> <span className="mlabels"><span className="mlabel static">static</span></span> </td>
          </tr>
        </table>
      </div>

      <div className="memdoc">
        <p>Solves for optimal routes that connect remote asset nodes to the fixed (backbone) asset nodes. </p>
        <p className="definition">Definition at line <a className="el" href="https://github.com/kineticadb/kinetica-api-cs/blob/master/Kinetica/Protocol/SolveGraph.cs#L70">70</a> of file <a className="el" href="https://github.com/kineticadb/kinetica-api-cs/blob/master/Kinetica/Protocol/SolveGraph.cs">SolveGraph.cs</a>.</p>
      </div>
    </div>

    <div id="ad573e1d2cb51ee4196f2375665e04868" />

    <h2 className="memtitle"><span className="permalink"><a href="#ad573e1d2cb51ee4196f2375665e04868">◆ </a></span>CENTRALITY</h2>

    <div className="memitem">
      <div className="memproto">
        <table className="mlabels">
          <tr>
            <td className="mlabels-left">
              <table className="memname">
                <tr>
                  <td className="memname">const string kinetica.SolveGraphRequest.SolverType.CENTRALITY = "CENTRALITY"</td>
                </tr>
              </table>
            </td>

            <td className="mlabels-right"> <span className="mlabels"><span className="mlabel static">static</span></span> </td>
          </tr>
        </table>
      </div>

      <div className="memdoc">
        <p>Solves for the degree of a node to depict how many pairs of individuals that would have to go through the node to reach one another in the minimum number of hops. </p>
        <p>Also known as betweenness.</p>
        <p className="definition">Definition at line <a className="el" href="https://github.com/kineticadb/kinetica-api-cs/blob/master/Kinetica/Protocol/SolveGraph.cs#L53">53</a> of file <a className="el" href="https://github.com/kineticadb/kinetica-api-cs/blob/master/Kinetica/Protocol/SolveGraph.cs">SolveGraph.cs</a>.</p>
      </div>
    </div>

    <div id="a6b19e58e527477eba25025bf788bb2ac" />

    <h2 className="memtitle"><span className="permalink"><a href="#a6b19e58e527477eba25025bf788bb2ac">◆ </a></span>CLOSENESS</h2>

    <div className="memitem">
      <div className="memproto">
        <table className="mlabels">
          <tr>
            <td className="mlabels-left">
              <table className="memname">
                <tr>
                  <td className="memname">const string kinetica.SolveGraphRequest.SolverType.CLOSENESS = "CLOSENESS"</td>
                </tr>
              </table>
            </td>

            <td className="mlabels-right"> <span className="mlabels"><span className="mlabel static">static</span></span> </td>
          </tr>
        </table>
      </div>

      <div className="memdoc">
        <p>Solves for the centrality closeness score per node as the sum of the inverse shortest path costs to all nodes in the graph. </p>
        <p className="definition">Definition at line <a className="el" href="https://github.com/kineticadb/kinetica-api-cs/blob/master/Kinetica/Protocol/SolveGraph.cs#L87">87</a> of file <a className="el" href="https://github.com/kineticadb/kinetica-api-cs/blob/master/Kinetica/Protocol/SolveGraph.cs">SolveGraph.cs</a>.</p>
      </div>
    </div>

    <div id="af051d0967986bcc4317c7ac1feeec819" />

    <h2 className="memtitle"><span className="permalink"><a href="#af051d0967986bcc4317c7ac1feeec819">◆ </a></span>INVERSE\_SHORTEST\_PATH</h2>

    <div className="memitem">
      <div className="memproto">
        <table className="mlabels">
          <tr>
            <td className="mlabels-left">
              <table className="memname">
                <tr>
                  <td className="memname">const string kinetica.SolveGraphRequest.SolverType.INVERSE\_SHORTEST\_PATH = "INVERSE\_SHORTEST\_PATH"</td>
                </tr>
              </table>
            </td>

            <td className="mlabels-right"> <span className="mlabels"><span className="mlabel static">static</span></span> </td>
          </tr>
        </table>
      </div>

      <div className="memdoc">
        <p>Solves for finding the optimal path cost for each destination node to route to the source node. </p>
        <p>Also known as inverse Dijkstra or the service man routing problem.</p>
        <p className="definition">Definition at line <a className="el" href="https://github.com/kineticadb/kinetica-api-cs/blob/master/Kinetica/Protocol/SolveGraph.cs#L66">66</a> of file <a className="el" href="https://github.com/kineticadb/kinetica-api-cs/blob/master/Kinetica/Protocol/SolveGraph.cs">SolveGraph.cs</a>.</p>
      </div>
    </div>

    <div id="ab24108505ff7f31df467708b01049276" />

    <h2 className="memtitle"><span className="permalink"><a href="#ab24108505ff7f31df467708b01049276">◆ </a></span>MULTIPLE\_ROUTING</h2>

    <div className="memitem">
      <div className="memproto">
        <table className="mlabels">
          <tr>
            <td className="mlabels-left">
              <table className="memname">
                <tr>
                  <td className="memname">const string kinetica.SolveGraphRequest.SolverType.MULTIPLE\_ROUTING = "MULTIPLE\_ROUTING"</td>
                </tr>
              </table>
            </td>

            <td className="mlabels-right"> <span className="mlabels"><span className="mlabel static">static</span></span> </td>
          </tr>
        </table>
      </div>

      <div className="memdoc">
        <p>Solves for finding the minimum cost cumulative path for a round-trip starting from the given source and visiting each given destination node once then returning to the source. </p>
        <p>Also known as the traveling salesman problem.</p>
        <p className="definition">Definition at line <a className="el" href="https://github.com/kineticadb/kinetica-api-cs/blob/master/Kinetica/Protocol/SolveGraph.cs#L60">60</a> of file <a className="el" href="https://github.com/kineticadb/kinetica-api-cs/blob/master/Kinetica/Protocol/SolveGraph.cs">SolveGraph.cs</a>.</p>
      </div>
    </div>

    <div id="aa9f2fdf8330a99f7c39c1e073730e72e" />

    <h2 className="memtitle"><span className="permalink"><a href="#aa9f2fdf8330a99f7c39c1e073730e72e">◆ </a></span>PAGE\_RANK</h2>

    <div className="memitem">
      <div className="memproto">
        <table className="mlabels">
          <tr>
            <td className="mlabels-left">
              <table className="memname">
                <tr>
                  <td className="memname">const string kinetica.SolveGraphRequest.SolverType.PAGE\_RANK = "PAGE\_RANK"</td>
                </tr>
              </table>
            </td>

            <td className="mlabels-right"> <span className="mlabels"><span className="mlabel static">static</span></span> </td>
          </tr>
        </table>
      </div>

      <div className="memdoc">
        <p>Solves for the probability of each destination node being visited based on the links of the graph topology. </p>
        <p>Weights are not required to use this solver.</p>
        <p className="definition">Definition at line <a className="el" href="https://github.com/kineticadb/kinetica-api-cs/blob/master/Kinetica/Protocol/SolveGraph.cs#L42">42</a> of file <a className="el" href="https://github.com/kineticadb/kinetica-api-cs/blob/master/Kinetica/Protocol/SolveGraph.cs">SolveGraph.cs</a>.</p>
      </div>
    </div>

    <div id="aa911d7a787d80b4cf5ce1bf72759feb2" />

    <h2 className="memtitle"><span className="permalink"><a href="#aa911d7a787d80b4cf5ce1bf72759feb2">◆ </a></span>PROBABILITY\_RANK</h2>

    <div className="memitem">
      <div className="memproto">
        <table className="mlabels">
          <tr>
            <td className="mlabels-left">
              <table className="memname">
                <tr>
                  <td className="memname">const string kinetica.SolveGraphRequest.SolverType.PROBABILITY\_RANK = "PROBABILITY\_RANK"</td>
                </tr>
              </table>
            </td>

            <td className="mlabels-right"> <span className="mlabels"><span className="mlabel static">static</span></span> </td>
          </tr>
        </table>
      </div>

      <div className="memdoc">
        <p>Solves for the transitional probability (Hidden Markov) for each node based on the weights (probability assigned over given edges). </p>
        <p className="definition">Definition at line <a className="el" href="https://github.com/kineticadb/kinetica-api-cs/blob/master/Kinetica/Protocol/SolveGraph.cs#L47">47</a> of file <a className="el" href="https://github.com/kineticadb/kinetica-api-cs/blob/master/Kinetica/Protocol/SolveGraph.cs">SolveGraph.cs</a>.</p>
      </div>
    </div>

    <div id="a768f9cb785d2677ebe4c0a750119ef33" />

    <h2 className="memtitle"><span className="permalink"><a href="#a768f9cb785d2677ebe4c0a750119ef33">◆ </a></span>SHORTEST\_PATH</h2>

    <div className="memitem">
      <div className="memproto">
        <table className="mlabels">
          <tr>
            <td className="mlabels-left">
              <table className="memname">
                <tr>
                  <td className="memname">const string kinetica.SolveGraphRequest.SolverType.SHORTEST\_PATH = "SHORTEST\_PATH"</td>
                </tr>
              </table>
            </td>

            <td className="mlabels-right"> <span className="mlabels"><span className="mlabel static">static</span></span> </td>
          </tr>
        </table>
      </div>

      <div className="memdoc">
        <p>Solves for the optimal (shortest) path based on weights and restrictions from one source to destinations nodes. </p>
        <p>Also known as the Dijkstra solver.</p>
        <p className="definition">Definition at line <a className="el" href="https://github.com/kineticadb/kinetica-api-cs/blob/master/Kinetica/Protocol/SolveGraph.cs#L36">36</a> of file <a className="el" href="https://github.com/kineticadb/kinetica-api-cs/blob/master/Kinetica/Protocol/SolveGraph.cs">SolveGraph.cs</a>.</p>
      </div>
    </div>

    <div id="a0201914568ae02807e05c349130ebb65" />

    <h2 className="memtitle"><span className="permalink"><a href="#a0201914568ae02807e05c349130ebb65">◆ </a></span>STATS\_ALL</h2>

    <div className="memitem">
      <div className="memproto">
        <table className="mlabels">
          <tr>
            <td className="mlabels-left">
              <table className="memname">
                <tr>
                  <td className="memname">const string kinetica.SolveGraphRequest.SolverType.STATS\_ALL = "STATS\_ALL"</td>
                </tr>
              </table>
            </td>

            <td className="mlabels-right"> <span className="mlabels"><span className="mlabel static">static</span></span> </td>
          </tr>
        </table>
      </div>

      <div className="memdoc">
        <p>Solves for graph statistics such as graph diameter, longest pairs, vertex valences, topology numbers, average and max cluster sizes, etc. </p>
        <p className="definition">Definition at line <a className="el" href="https://github.com/kineticadb/kinetica-api-cs/blob/master/Kinetica/Protocol/SolveGraph.cs#L82">82</a> of file <a className="el" href="https://github.com/kineticadb/kinetica-api-cs/blob/master/Kinetica/Protocol/SolveGraph.cs">SolveGraph.cs</a>.</p>
      </div>
    </div>

    <hr />

    The documentation for this struct was generated from the following file:

    <ul>
      <li>Kinetica/Protocol/<a className="el" href="https://github.com/kineticadb/kinetica-api-cs/blob/master/Kinetica/Protocol/SolveGraph.cs">SolveGraph.cs</a></li>
    </ul>
  </div>
</div>


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.