> ## 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#a11142de4933b60555228394b3ac041e6" 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"> Static Public Attributes</h2>
        </td>
      </tr>

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

      <tr className="memdesc:ac2471e6ee50b19fb9c52ad089a35fab3">
        <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:ac2471e6ee50b19fb9c52ad089a35fab3">
        <td className="memSeparator" colSpan="2"> </td>
      </tr>

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

      <tr className="memdesc:afe82620923e097b837503b6e285befe6">
        <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:afe82620923e097b837503b6e285befe6">
        <td className="memSeparator" colSpan="2"> </td>
      </tr>

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

      <tr className="memdesc:a785378c23fca82580b4fcbd8462292a1">
        <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:a785378c23fca82580b4fcbd8462292a1">
        <td className="memSeparator" colSpan="2"> </td>
      </tr>

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

      <tr className="memdesc:ac114e60012b0080d9614b3bef5b6abdb">
        <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:ac114e60012b0080d9614b3bef5b6abdb">
        <td className="memSeparator" colSpan="2"> </td>
      </tr>

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

      <tr className="memdesc:af3da2ff6d37f1f9b459e7fac878beea7">
        <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:af3da2ff6d37f1f9b459e7fac878beea7">
        <td className="memSeparator" colSpan="2"> </td>
      </tr>

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

      <tr className="memdesc:a8819e07da47d3f4c6afb43ac3999439c">
        <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:a8819e07da47d3f4c6afb43ac3999439c">
        <td className="memSeparator" colSpan="2"> </td>
      </tr>

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

      <tr className="memdesc:a8a214e6c9af67ee0257256645f6b86ab">
        <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:a8a214e6c9af67ee0257256645f6b86ab">
        <td className="memSeparator" colSpan="2"> </td>
      </tr>

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

      <tr className="memdesc:a78cba72f3b2c5f269578077809c4fabd">
        <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:a78cba72f3b2c5f269578077809c4fabd">
        <td className="memSeparator" colSpan="2"> </td>
      </tr>

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

      <tr className="memdesc:ade77591552b7d481846da9ce10cfb282">
        <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:ade77591552b7d481846da9ce10cfb282">
        <td className="memSeparator" colSpan="2"> </td>
      </tr>

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

      <tr className="memdesc:ab8e9258cde60b62aab90f7d2a71e4539">
        <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:ab8e9258cde60b62aab90f7d2a71e4539">
        <td className="memSeparator" colSpan="2"> </td>
      </tr>
    </table>

    <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#a11142de4933b60555228394b3ac041e6" 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="/content/api/cs/__build_2public-os__ubuntu24_804-arch__amd64-cc__gcc__13_83_80_2install_2Kinetica_2Protocol_2SolveGraph_8cs_source#l00031">31</a> of file <a className="el" href="/content/api/cs/__build_2public-os__ubuntu24_804-arch__amd64-cc__gcc__13_83_80_2install_2Kinetica_2Protocol_2SolveGraph_8cs_source">SolveGraph.cs</a>.</p>
    </div>

    <h2 className="groupheader">Member Data Documentation</h2>
    <h2 className="memtitle"><span className="permalink"><a href="#a78cba72f3b2c5f269578077809c4fabd">◆ </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="/content/api/cs/__build_2public-os__ubuntu24_804-arch__amd64-cc__gcc__13_83_80_2install_2Kinetica_2Protocol_2SolveGraph_8cs_source#l00077">77</a> of file <a className="el" href="/content/api/cs/__build_2public-os__ubuntu24_804-arch__amd64-cc__gcc__13_83_80_2install_2Kinetica_2Protocol_2SolveGraph_8cs_source">SolveGraph.cs</a>.</p>
      </div>
    </div>

    <h2 className="memtitle"><span className="permalink"><a href="#a8a214e6c9af67ee0257256645f6b86ab">◆ </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="/content/api/cs/__build_2public-os__ubuntu24_804-arch__amd64-cc__gcc__13_83_80_2install_2Kinetica_2Protocol_2SolveGraph_8cs_source#l00070">70</a> of file <a className="el" href="/content/api/cs/__build_2public-os__ubuntu24_804-arch__amd64-cc__gcc__13_83_80_2install_2Kinetica_2Protocol_2SolveGraph_8cs_source">SolveGraph.cs</a>.</p>
      </div>
    </div>

    <h2 className="memtitle"><span className="permalink"><a href="#ac114e60012b0080d9614b3bef5b6abdb">◆ </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="/content/api/cs/__build_2public-os__ubuntu24_804-arch__amd64-cc__gcc__13_83_80_2install_2Kinetica_2Protocol_2SolveGraph_8cs_source#l00053">53</a> of file <a className="el" href="/content/api/cs/__build_2public-os__ubuntu24_804-arch__amd64-cc__gcc__13_83_80_2install_2Kinetica_2Protocol_2SolveGraph_8cs_source">SolveGraph.cs</a>.</p>
      </div>
    </div>

    <h2 className="memtitle"><span className="permalink"><a href="#ab8e9258cde60b62aab90f7d2a71e4539">◆ </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="/content/api/cs/__build_2public-os__ubuntu24_804-arch__amd64-cc__gcc__13_83_80_2install_2Kinetica_2Protocol_2SolveGraph_8cs_source#l00087">87</a> of file <a className="el" href="/content/api/cs/__build_2public-os__ubuntu24_804-arch__amd64-cc__gcc__13_83_80_2install_2Kinetica_2Protocol_2SolveGraph_8cs_source">SolveGraph.cs</a>.</p>
      </div>
    </div>

    <h2 className="memtitle"><span className="permalink"><a href="#a8819e07da47d3f4c6afb43ac3999439c">◆ </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="/content/api/cs/__build_2public-os__ubuntu24_804-arch__amd64-cc__gcc__13_83_80_2install_2Kinetica_2Protocol_2SolveGraph_8cs_source#l00066">66</a> of file <a className="el" href="/content/api/cs/__build_2public-os__ubuntu24_804-arch__amd64-cc__gcc__13_83_80_2install_2Kinetica_2Protocol_2SolveGraph_8cs_source">SolveGraph.cs</a>.</p>
      </div>
    </div>

    <h2 className="memtitle"><span className="permalink"><a href="#af3da2ff6d37f1f9b459e7fac878beea7">◆ </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="/content/api/cs/__build_2public-os__ubuntu24_804-arch__amd64-cc__gcc__13_83_80_2install_2Kinetica_2Protocol_2SolveGraph_8cs_source#l00060">60</a> of file <a className="el" href="/content/api/cs/__build_2public-os__ubuntu24_804-arch__amd64-cc__gcc__13_83_80_2install_2Kinetica_2Protocol_2SolveGraph_8cs_source">SolveGraph.cs</a>.</p>
      </div>
    </div>

    <h2 className="memtitle"><span className="permalink"><a href="#afe82620923e097b837503b6e285befe6">◆ </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="/content/api/cs/__build_2public-os__ubuntu24_804-arch__amd64-cc__gcc__13_83_80_2install_2Kinetica_2Protocol_2SolveGraph_8cs_source#l00042">42</a> of file <a className="el" href="/content/api/cs/__build_2public-os__ubuntu24_804-arch__amd64-cc__gcc__13_83_80_2install_2Kinetica_2Protocol_2SolveGraph_8cs_source">SolveGraph.cs</a>.</p>
      </div>
    </div>

    <h2 className="memtitle"><span className="permalink"><a href="#a785378c23fca82580b4fcbd8462292a1">◆ </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="/content/api/cs/__build_2public-os__ubuntu24_804-arch__amd64-cc__gcc__13_83_80_2install_2Kinetica_2Protocol_2SolveGraph_8cs_source#l00047">47</a> of file <a className="el" href="/content/api/cs/__build_2public-os__ubuntu24_804-arch__amd64-cc__gcc__13_83_80_2install_2Kinetica_2Protocol_2SolveGraph_8cs_source">SolveGraph.cs</a>.</p>
      </div>
    </div>

    <h2 className="memtitle"><span className="permalink"><a href="#ac2471e6ee50b19fb9c52ad089a35fab3">◆ </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="/content/api/cs/__build_2public-os__ubuntu24_804-arch__amd64-cc__gcc__13_83_80_2install_2Kinetica_2Protocol_2SolveGraph_8cs_source#l00036">36</a> of file <a className="el" href="/content/api/cs/__build_2public-os__ubuntu24_804-arch__amd64-cc__gcc__13_83_80_2install_2Kinetica_2Protocol_2SolveGraph_8cs_source">SolveGraph.cs</a>.</p>
      </div>
    </div>

    <h2 className="memtitle"><span className="permalink"><a href="#ade77591552b7d481846da9ce10cfb282">◆ </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="/content/api/cs/__build_2public-os__ubuntu24_804-arch__amd64-cc__gcc__13_83_80_2install_2Kinetica_2Protocol_2SolveGraph_8cs_source#l00082">82</a> of file <a className="el" href="/content/api/cs/__build_2public-os__ubuntu24_804-arch__amd64-cc__gcc__13_83_80_2install_2Kinetica_2Protocol_2SolveGraph_8cs_source">SolveGraph.cs</a>.</p>
      </div>
    </div>

    <hr />

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

    <ul>
      <li>\_build/public-os\_ubuntu24.04-arch\_amd64-cc\_gcc\_13.3.0/install/Kinetica/Protocol/<a className="el" href="/content/api/cs/__build_2public-os__ubuntu24_804-arch__amd64-cc__gcc__13_83_80_2install_2Kinetica_2Protocol_2SolveGraph_8cs_source">SolveGraph.cs</a></li>
      <li>Kinetica/Protocol/<a className="el" href="/content/api/cs/Kinetica_2Protocol_2SolveGraph_8cs_source">SolveGraph.cs</a></li>
    </ul>
  </div>
</div>
