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.
The library automatically retries requests that fail with transient errors, and uses exponential backoff to backoff between retries. Application developers can override the default policies.
More InformationExcept 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 page provides documentation for the Google Cloud Optimization API C++ client library, which offers tools for addressing various optimization challenges."],["The library's most recent release candidate is version 2.37.0-rc, and there are several previous versions available, going back to version 2.11.0, all of which are linked on the page."],["The primary class, `optimization_v1::FleetRoutingClient`, handles all remote procedure calls (RPCs), and other classes are included for support and testing."],["The library automatically handles retries and uses exponential backoff for transient errors, but these policies can be customized by the user."],["The documentation provides additional guidance for error handling, modifying the default endpoint and authentication, as well as configuring the behavior of the library with 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