graphprotocol / allocation-optimizer

Agents and algorithms for optimizing Indexer decision problems.
MIT License
14 stars 13 forks source link

Domain Error from finding roots for the dual #30

Closed hopeyen closed 1 year ago

hopeyen commented 1 year ago

Describe the bug Negative roots found on certain occasions

Error log

To Reproduce Steps to reproduce the behavior:

        test/temp.csv \
        0 1 10 0 \
        https://gateway.testnet.thegraph.com/network opts-big.json

with csv

whitelist,blacklist,pinnedlist,frozenlist
,,,QmcBSr5R3K2M5tk8qeHFaX8pxAhdViYhcKD8ZegYuTcUhC
,,,QmYN4ofRb5CUg1WdpLhhNTVCuiiAt29hBKGjTnnxYh9zYt
,,,Qmaz1R8vcv9v3gUfksqiS9JUz7K9G8S5By3JYn8kTiiP5K
,,,QmVQdzeGdPUiLiACeqXRpKAYpyj8Z1yfWLMUq7A7WundUf
,,,QmNRkaVUwUQAwPwWgdQHYvw53A5gh3CP3giWnWQZdA2BTE
,,,QmbHg6vAJRD9ZWz5GTP9oMrfDyetnGTr5KWJBYAq59fm1W
,,,QmUVskWrz1ZiQZ76AtyhcfFDEH1ELnRpoyEhVL8p6NFTbR
,,,QmYUcrn9S1cuSZQGomLRyn8GbNHmX8viqxMykP8kKpghz6
,,,Qmadj8x9km1YEyKmRnJ6EkC2zpJZFCfTyTZpuqC3j6e1QH
,,,Qmf3ASsvnGkfxemcYzzdqtsGFc8CdURUbuvJaoyc5TL923
,,,QmXZiV6S13ha6QXq4dmaM3TB4CHcDxBMvGexSNu9Kc28EH
,,,QmNoe4VQFSKAC3uiq48UQASg4QeqFVSKYYGwnxNjNi6GYX
,,,QmRDGLp6BHwiH9HAE2NYEE3f7LrKuRqziHBv76trT4etgU
QmPVrE1P5K8zVPyKtprnAT1CmoE8DPpAGtPFCLcbAg8cx7,,,
QmPQHm2yNmH1yRxd3Y2wXUzhXJTQv24GXigBQSvCBjmP2i,,,
Qmf3ASsvnGkfxemcYzzdqtsGFc8CdURUbuvJaoyc5TL923,,,
QmPP28PKeTaPFEPNVQkMcgbmN1Ujd3WiAbmEjehKkqvarD,,,
QmZ7KUu4NiLQs3U9PhgpRvKeT6s2wxYwSFnqjHmfHf5M7s,,,
QmRSZsEDh6WqtqtFUJdSM9AppDu33pYvz5GGtLXFUhgX3b,,,
QmcCAezauU9WkxGs4pB2DoL6rCXTMU4UjacH8JFMXyjKVb,,,
QmQexc4twpqt4nHs73DJTVpjQsCz5U9v8eXRYvMg9qmLjE,,,
QmNoe4VQFSKAC3uiq48UQASg4QeqFVSKYYGwnxNjNi6GYX,,,
QmcBSr5R3K2M5tk8qeHFaX8pxAhdViYhcKD8ZegYuTcUhC,,,
QmWD3yaxk8gEts5Jr8C7viBUCL6sMPZKRPtjS9fGBGuvSG,,,
QmXZiV6S13ha6QXq4dmaM3TB4CHcDxBMvGexSNu9Kc28EH,,,
Qmadj8x9km1YEyKmRnJ6EkC2zpJZFCfTyTZpuqC3j6e1QH,,,
QmWfvBwdLL6e65Zddr6zbkcUY1mkyCKxyMLH33zTyfbJLn,,,
QmSWuriWgAJb6jKVqJ13U1D3cdbsi3JFrd4cyncFy9DEgo,,,
QmT29nwVngpgGJSHaw1qnTeCLg9o3s95ix2L4TdX7WK67G,,,
QmTTE1ca8fwsyzs4dDiArfeBvEuqQfuZsoM9WU62xfHwJA,,,
QmXJ66wJ6hsFinThj49QspuTr1T6WbgwbfZrHxxGdN27Pd,,,
QmYUcrn9S1cuSZQGomLRyn8GbNHmX8viqxMykP8kKpghz6,,,
QmcskbugoHafPJC4EcFzkPNc2ExNPY8L32QagCn5qrtQU5,,,
QmVQdzeGdPUiLiACeqXRpKAYpyj8Z1yfWLMUq7A7WundUf,,,
QmeB3CddhtZqNW3FVvsbNeEt2Ek1VSjdwNBU9fJEYrsC3o,,,
QmXU1g4ju2zNBmDanMBHHuwJyDRG7pCjTK9DdAPvXqfQc4,,,
QmUVskWrz1ZiQZ76AtyhcfFDEH1ELnRpoyEhVL8p6NFTbR,,,
QmbHg6vAJRD9ZWz5GTP9oMrfDyetnGTr5KWJBYAq59fm1W,,,
QmRDGLp6BHwiH9HAE2NYEE3f7LrKuRqziHBv76trT4etgU,,,
Qmaz1R8vcv9v3gUfksqiS9JUz7K9G8S5By3JYn8kTiiP5K,,,
QmTKXLEdMD6Vq7Nwxo8XAfnHpG6H1TzL1AGwiqLpoae3Pb,,,

Expected behavior Be able to handle the case for negative values when finding the root

Additional context Network data is stored locally and can be used to reproduce

anirudh2 commented 1 year ago

This was due to the config filtering out all subgraphs. The bug showed up in a weird place, so we added functionality to capture and error out in a more reasonable way.