This question derive from How to find a longest path, which contains as many vertices,which is a solved problem.But I don't very happy with it based on a brute force method.So I try to built a negtive weight value since the documentation(ref/FindShortestPath-Examples-Scope-Specification) of FindShortestPath say:
The graph is
g=Graph[{1, 2, 3, 4, 5, 6, 7, 8, 9,
10}, {SparseArray[Automatic, {10, 10},
0, {1, {{0, 2, 5, 7, 9, 11, 13, 15, 16, 18,
20}, {{3}, {4}, {1}, {6}, {8}, {5}, {9}, {2}, {9}, {2}, {6},
{3}, {5}, {7}, {8}, {4},
{1}, {8}, {1}, {3}}}, {1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1}}], Null}, {VertexLabels -> {"Name"}}]

But this code get nothing:
FindShortestPath[
Graph[g, EdgeWeight -> Table[-1, EdgeCount[g]]], ##] & @@@
Tuples[Range[9], 2]
It's seem the FindShortestPath don't support the weight of negtive value.But as I know,the weight can be any value of real-number.Any method to do this by it or FindMinimumCostFlow in this answer?
