cosmosmesh-privacy-preservi.../examples/catopt_demo.py

36 lines
1.1 KiB
Python

"""CatOpt Bridge Demo (CosmosMesh MVP)
Minimal end-to-end example showing how to construct a LocalProblem, SharedVariables,
DualVariables and build a RoundTrip message via the CatOptBridge.
"""
from cosmosmesh_privacy_preserving_federated.catopt_bridge import LocalProblem, SharedVariable, DualVariable, CatOptBridge
def main():
# Define a tiny local problem for a two-asset scenario
lp = LocalProblem(
problem_id="rover1-task-allocation",
objective="minimize energy consumption",
variables=["x1", "x2"],
constraints=["x1 + x2 <= 10", "x1 >= 0", "x2 >= 0"],
version=1,
)
# Shared variables (primal signals) between agents
sv1 = SharedVariable(name="eta1", value=0.5, version=1)
sv2 = SharedVariable(name="eta2", value=1.2, version=1)
dual1 = DualVariable(name="lambda1", value=0.1, version=1)
# Build a round-trip message as the CatOptBridge would prepare for transport
rt = CatOptBridge.build_round_trip(
problem=lp,
shared=[sv1, sv2],
duals=[dual1],
)
print("RoundTrip Message:\n", rt)
if __name__ == "__main__":
main()