Stay organized with collections Save and categorize content based on your preferences.
This directory contains an idiomatic C++ client library for the Cloud Optimization API, a service that provides a portfolio of solvers to address common optimization use cases.
While this library is GA, please note Google Cloud C++ client libraries do not follow Semantic Versioning.
QuickstartThe following shows the code that you'll run in the google/cloud/optimization/quickstart/
directory, which should give you a taste of the Cloud Optimization API C++ client library API.
#include "google/cloud/optimization/v1/fleet_routing_client.h"
#include "google/cloud/common_options.h"
#include "google/cloud/project.h"
#include <iostream>
int main(int argc, char* argv[]) try {
if (argc != 3) {
std::cerr << "Usage: " << argv[0] << " project-id destination\n"
<< " destination is a GCS bucket\n";
return 1;
}
// This quickstart loads an example model from a known GCS bucket. The service
// solves the model, and writes the solution to the destination GCS bucket.
std::string const source =
"gs://cloud-samples-data/optimization-ai/async_request_model.json";
auto const destination =
std::string{"gs://"} + argv[2] + "/optimization_quickstart_solution.json";
namespace gc = ::google::cloud;
namespace optimization = ::google::cloud::optimization_v1;
auto options = gc::Options{}.set<gc::UserProjectOption>(argv[1]);
auto client = optimization::FleetRoutingClient(
optimization::MakeFleetRoutingConnection(options));
google::cloud::optimization::v1::BatchOptimizeToursRequest req;
req.set_parent(gc::Project(argv[1]).FullName());
auto& config = *req.add_model_configs();
auto& input = *config.mutable_input_config();
input.mutable_gcs_source()->set_uri(source);
input.set_data_format(google::cloud::optimization::v1::JSON);
auto& output = *config.mutable_output_config();
output.mutable_gcs_destination()->set_uri(destination);
output.set_data_format(google::cloud::optimization::v1::JSON);
auto fut = client.BatchOptimizeTours(req);
std::cout << "Request sent to the service...\n";
auto resp = fut.get();
if (!resp) throw std::move(resp).status();
std::cout << "Solution written to: " << destination << "\n";
return 0;
} catch (google::cloud::Status const& status) {
std::cerr << "google::cloud::Status thrown: " << status << "\n";
return 1;
}
Main classes
The main class in this library is optimization_v1::FleetRoutingClient
. All RPCs are exposed as member functions of this class. Other classes provide helpers, configuration parameters, and infrastructure to mock optimization_v1::FleetRoutingClient
when testing your application.
Except as otherwise noted, the content of this page is licensed under the Creative Commons Attribution 4.0 License, and code samples are licensed under the Apache 2.0 License. For details, see the Google Developers Site Policies. Java is a registered trademark of Oracle and/or its affiliates.
Last updated 2025-08-14 UTC.
[[["Easy to understand","easyToUnderstand","thumb-up"],["Solved my problem","solvedMyProblem","thumb-up"],["Other","otherUp","thumb-up"]],[["Hard to understand","hardToUnderstand","thumb-down"],["Incorrect information or sample code","incorrectInformationOrSampleCode","thumb-down"],["Missing the information/samples I need","missingTheInformationSamplesINeed","thumb-down"],["Other","otherDown","thumb-down"]],["Last updated 2025-08-14 UTC."],[[["This webpage details the C++ client library for the Cloud Optimization API, which offers solvers for various optimization challenges."],["The library is generally available (GA), but it does not adhere to Semantic Versioning guidelines, which means version numbers do not follow a strict pattern of incrementing with changes."],["The `FleetRoutingClient` class is the primary class within this library, and it contains the RPC methods used to interact with the API."],["The webpage includes a quickstart code example to help users understand how to use the API, utilizing sample model data from a known GCS bucket."],["The provided content also offers links to resources that explain error handling, how to override default settings like the endpoint, authentication credentials, retry policies, and a list of relevant environment variables."]]],[]]
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4