Search NASA⌕ Search

SEARCH · Search NASA

Results for “Heuristic Optimization”

Search indexed NASA NTRS and DOE OSTI research on propulsion, heat transfer, battery materials and energy systems. Follow report and document links to the original sources.

Quote a phrase for an exact phrase match. Source license links do not imply unrestricted reuse.

At least 271 records · Page 15

Towards large-scale quantum optimization solvers with few qubits

Quantum computers hold the promise of more efficient combinatorial optimization solvers, which could be game-changing for a broad range of applications. However, a bottleneck for materializing such advantages is that, in order to challenge classical algorithms in practice, mainstream approaches require a number of qubits prohibitively large for near-term hardware. Here we introduce a variational solver for MaxCut problems over $m={{\mathcal{O}}}({n}^{k})$ binary variables using only n qubits, with tunable k > 1. The number of parameters and circuit depth display mild linear and sublinear scalings in m , respectively. Moreover, we analytically prove that the specific qubit-efficient encoding brings in a super-polynomial mitigation of barren plateaus as a built-in feature. Altogether, this leads to high quantum-solver performances. For instance, for m = 7000, numerical simulations produce solutions competitive in quality with state-of-the-art classical solvers. In turn, for m = 2000, experiments with n = 17 trapped-ion qubits feature MaxCut approximation ratios estimated to be beyond the hardness threshold 0.941. Our findings offer an interesting heuristics for quantum-inspired solvers as well as a promising route towards solving commercially-relevant problems on near-term quantum devices.

71 CLASSICAL AND QUANTUM MECHANICS, GENERAL PHYSIC↗

Formation Design Strategy for SCOPE High-Elliptic Formation Flying Mission

The new formation design strategy using simulated annealing (SA) optimization is presented. The SA algorithm is useful to survey a whole solution space of optimum formation, taking into account realistic constraints composed of continuous and discrete functions. It is revealed that this method is not only applicable for circular orbit, but also for high-elliptic orbit formation flying. The developed algorithm is first tested with a simple cart-wheel motion example, and then applied to the formation design for SCOPE. SCOPE is the next generation geomagnetotail observation mission planned in JAXA, utilizing a formation flying techonology in a high elliptic orbit. A distinctive and useful heuristics is found by investigating SA results, showing the effectiveness of the proposed design process.

Tsuda, Yuichi↗

Sensor Selection and Optimization for Health Assessment of Aerospace Systems

Aerospace systems are developed similarly to other large-scale systems through a series of reviews, where designs are modified as system requirements are refined. For space-based systems few are built and placed into service. These research vehicles have limited historical experience to draw from and formidable reliability and safety requirements, due to the remote and severe environment of space. Aeronautical systems have similar reliability and safety requirements, and while these systems may have historical information to access, commercial and military systems require longevity under a range of operational conditions and applied loads. Historically, the design of aerospace systems, particularly the selection of sensors, is based on the requirements for control and performance rather than on health assessment needs. Furthermore, the safety and reliability requirements are met through sensor suite augmentation in an ad hoc, heuristic manner, rather than any systematic approach. A review of the current sensor selection practice within and outside of the aerospace community was conducted and a sensor selection architecture is proposed that will provide a justifiable, dependable sensor suite to address system health assessment requirements.

Maul, William A.↗

Sensor Selection and Optimization for Health Assessment of Aerospace Systems

Aerospace systems are developed similarly to other large-scale systems through a series of reviews, where designs are modified as system requirements are refined. For space-based systems few are built and placed into service these research vehicles have limited historical experience to draw from and formidable reliability and safety requirements, due to the remote and severe environment of space. Aeronautical systems have similar reliability and safety requirements, and while these systems may have historical information to access, commercial and military systems require longevity under a range of operational conditions and applied loads. Historically, the design of aerospace systems, particularly the selection of sensors, is based on the requirements for control and performance rather than on health assessment needs. Furthermore, the safety and reliability requirements are met through sensor suite augmentation in an ad hoc, heuristic manner, rather than any systematic approach. A review of the current sensor selection practice within and outside of the aerospace community was conducted and a sensor selection architecture is proposed that will provide a justifiable, defendable sensor suite to address system health assessment requirements.

Maul, William A.↗

Sensor/Actuator Selection for Gust and Turbulence Control

From aircraft fuselages and space stations to vacuum cleaners and automobiles, active control of noise and/or vibration has come of age. Determining the number of active control devices (e.g. actuators) to be placed and where they are to be placed is the prototypical location problem. However, unlike typical location problems, where the customer is readily identified and is actively engaged in the assessment of the performance of the chosen locations, the customers that active control devices serve are not so easily identified and their impact on system performance issues may be unclear. For example, consider the problem of where to locate actuators to attenuate cabin noise in a propeller driven aircraft. Clearly, the ultimate customers are the passengers who will travel in these aircraft. But to decide whether one set of actuator locations is better than another it is unlikely we will ask passengers to fly in the aircraft and fill out a questionnaire about noise levels. Instead a set of sensors (pseudo-customers) are placed and the system performance of the actuators, as measured by these sensors, is recorded. Hence, we have yet another location problem. How many sensors should there be and where should they be located? In many instances collocation of sensors and actuators is the answer but in other instances it is not. A variety of approaches have been taken to address these sensor/actuator location problems. With regard to damping vibrations in truss structures (space station prototypes) it was formulated a new noxious location problem and generated high-quality solutions with a combination of LP-relaxations and heuristic search procedures. Other related efforts are summarized the actuator location problem for a single frequency interior noise control problem was examined for an idealized aircraft cabin. A tabu search procedure was shown to generate better locations for the actuators than a modal decomposition approach. The model was extended to include multi-frequency information. The sensor location problem is addressed. In the latter article a reactive tabu search scheme was shown to dominate a static tabu search approach. Our focus here is to determine locations to control and/or sense vibrations on a truss structure. However, instead of using one of the earlier optimization models referenced in the above paragraph we adopt an experimental design approach.

Kincaid, Rex K.↗

Interference Lattice-based Loop Nest Tilings for Stencil Computations

A common method for improving performance of stencil operations on structured multi-dimensional discretization grids is loop tiling. Tile shapes and sizes are usually determined heuristically, based on the size of the primary data cache. We provide a lower bound on the numbers of cache misses that must be incurred by any tiling, and a close achievable bound using a particular tiling based on the grid interference lattice. The latter tiling is used to derive highly efficient loop orderings. The total number of cache misses of a code is the sum of (necessary) cold misses and misses caused by elements being dropped from the cache between successive loads (replacement misses). Maximizing temporal locality is equivalent to minimizing replacement misses. Temporal locality of loop nests implementing stencil operations is optimized by tilings that avoid data conflicts. We divide the loop nest iteration space into conflict-free tiles, derived from the cache miss equation. The tiling involves the definition of the grid interference lattice an equivalence class of grid points whose images in main memory map to the same location in the cache-and the construction of a special basis for the lattice. Conflicts only occur on the boundaries of the tiles, unless the tiles are too thin. We show that the surface area of the tiles is bounded for grids of any dimensionality, and for caches of any associativity, provided the eccentricity of the fundamental parallelepiped (the tile spanned by the basis) of the lattice is bounded. Eccentricity is determined by two factors, aspect ratio and skewness. The aspect ratio of the parallelepiped can be bounded by appropriate array padding. The skewness can be bounded by the choice of a proper basis. Combining these two strategies ensures that pathologically thin tiles are avoided. They do not, however, minimize replacement misses per se. The reason is that tile visitation order influences the number of data conflicts on the tile boundaries. If two adjacent tiles are visited successively, there will be no replacement misses on the shared boundary. The iteration space may be covered with pencils larger than the size of the cache while avoiding data conflicts if the pencils are traversed by a scanning-face method. Replacement misses are incurred only on the boundaries of the pencils, and the number of misses is minimized by maximizing the volume of the scanning face, not the volume of the tile. We present an algorithm for constructing the most efficient scanning face for a given grid and stencil operator. In two dimensions it is based on a continued fraction algorithm. In three dimensions it follows Voronoi's successive minima algorithm. We show experimental results of using the scanning face, and compare with canonical loop orderings.

VanderWijngaart, Rob F.↗

Safe Deep Reinforcement Learning for Robust Frequency and Voltage-Constrained Networked Microgrid Restoration

Here, this paper proposes a safe soft actor-critic reinforcement learning (RL) algorithm–based controller for networked microgrid restoration. It formulates the post black-start start as a finite-horizon constrained Markov decision process. The RL agent co-optimizes real and reactive power set-points for both grid-forming and grid-following inverters under explicit voltage and frequency constraints, while enforcing proper power sharing via the Mean Active Power Sharing Index (MPSI) and Mean Reactive Power Sharing Index (MQSI). Numerical results obtained on the IEEE 123-bus distribution system show that the proposed method achieves a mean voltage build-up time of 0.01 s without breaching the 5% sharing-violation budget under various load scenarios, considering MPSI and MQSI indices. These findings demonstrate that the proposed method yields fast and safe black-start schedules without resorting to heuristic penalties.

Selim, Alaa [Dartmouth College, Hanover, NH (Unite↗

Promise of Graph Sparsification and Decomposition for Noise Reduction in QAOA: Analysis for Trapped-Ion Compilations

We develop new approximate compilation schemes that significantly reduce the expense of compiling the Quantum Approximate Optimization Algorithm (QAOA) for solving the Max-Cut problem. Our main focus is on compilation with trapped-ion simulators using Pauli-X operations and all-to-all Ising Hamiltonian HIsing evolution generated by Molmer-Sorensen or optical dipole force interactions, though some of our results also apply to standard gate-based compilations. Our results are based on principles of graph sparsification and decomposition; the former reduces the number of edges in a graph while maintaining its cut structure, while the latter breaks a weighted graph into a small number of unweighted graphs. Though these techniques have been used as heuristics in various hybrid quantum algorithms, there have been no guarantees on their performance, to the best of our knowledge. This work provides the first provable guarantees using sparsification and decomposition to improve quantum noise resilience and reduce quantum circuit complexity. For quantum hardware that uses edge-by-edge QAOA compilations, sparsification leads to a direct reduction in circuit complexity. For trapped-ion quantum simulators implementing all-to-all HIsing pulses, we show that for a (1−ϵ) factor loss in the Max-Cut approximation (ϵ>0), our compilations improve the (worst-case) number of HIsing pulses from O(n2) to O(nlog(n/ϵ)) and the (worst-case) number of Pauli-X bit flips from O(n2) to O(nlog(n/ϵ)ϵ2) for n-node graphs. This is an asymptotic improvement for any constant ϵ>0. We demonstrate that significant improvements to the approximation ratio are obtained using decomposition in simulated trapped-ion experiments with dephasing noise. We further present a generic argument showing that sparsification results in an exponentially improved circuit fidelity lower bound in digital computing schemes based on one- and two-qubit gates, which are relevant to a wide variety of hardwares such as superconducting qubits and certain neutral atom or trapped ion setups, and more sophisticated noise models. We anticipate these approximate compilation techniques will be useful tools in a variety of future quantum computing experiments.

Moondra, Jai [Georgia Institute of Technology]↗

Design of Composite Structures Using Knowledge-Based and Case Based Reasoning

A method of using knowledge based and case based reasoning to assist designers during conceptual design tasks of composite structures was proposed. The cooperative use of heuristics, procedural knowledge, and previous similar design cases suggests a potential reduction in design cycle time and ultimately product lead time. The hypothesis of this work is that the design process of composite structures can be improved by using Case-Based Reasoning (CBR) and Knowledge-Based (KB) reasoning in the early design stages. The technique of using knowledge-based and case-based reasoning facilitates the gathering of disparate information into one location that is easily and readily available. The method suggests that the inclusion of downstream life-cycle issues into the conceptual design phase reduces potential of defective, and sub-optimal composite structures. Three industry experts were interviewed extensively. The experts provided design rules, previous design cases, and test problems. A Knowledge Based Reasoning system was developed using the CLIPS (C Language Interpretive Procedural System) environment and a Case Based Reasoning System was developed using the Design Memory Utility For Sharing Experiences (MUSE) xviii environment. A Design Characteristic State (DCS) was used to document the design specifications, constraints, and problem areas using attribute-value pair relationships. The DCS provided consistent design information between the knowledge base and case base. Results indicated that the use of knowledge based and case based reasoning provided a robust design environment for composite structures. The knowledge base provided design guidance from well defined rules and procedural knowledge. The case base provided suggestions on design and manufacturing techniques based on previous similar designs and warnings of potential problems and pitfalls. The case base complemented the knowledge base and extended the problem solving capability beyond the existence of limited well defined rules. The findings indicated that the technique is most effective when used as a design aid and not as a tool to totally automate the composites design process. Other areas of application and implications for future research are discussed.

Lambright, Jonathan Paul↗

Kodiak: An Implementation Framework for Branch and Bound Algorithms

Recursive branch and bound algorithms are often used to refine and isolate solutions to several classes of global optimization problems. A rigorous computation framework for the solution of systems of equations and inequalities involving nonlinear real arithmetic over hyper-rectangular variable and parameter domains is presented. It is derived from a generic branch and bound algorithm that has been formally verified, and utilizes self-validating enclosure methods, namely interval arithmetic and, for polynomials and rational functions, Bernstein expansion. Since bounds computed by these enclosure methods are sound, this approach may be used reliably in software verification tools. Advantage is taken of the partial derivatives of the constraint functions involved in the system, firstly to reduce the branching factor by the use of bisection heuristics and secondly to permit the computation of bifurcation sets for systems of ordinary differential equations. The associated software development, Kodiak, is presented, along with examples of three different branch and bound problem types it implements.

Smith, Andrew P.↗

Optimal dynamic remapping of parallel computations

A large class of computations are characterized by a sequence of phases, with phase changes occurring unpredictably. The decision problem was considered regarding the remapping of workload to processors in a parallel computation when the utility of remapping and the future behavior of the workload is uncertain, and phases exhibit stable execution requirements during a given phase, but requirements may change radically between phases. For these problems a workload assignment generated for one phase may hinder performance during the next phase. This problem is treated formally for a probabilistic model of computation with at most two phases. The fundamental problem of balancing the expected remapping performance gain against the delay cost was addressed. Stochastic dynamic programming is used to show that the remapping decision policy minimizing the expected running time of the computation has an extremely simple structure. Because the gain may not be predictable, the performance of a heuristic policy that does not require estimnation of the gain is examined. The heuristic method's feasibility is demonstrated by its use on an adaptive fluid dynamics code on a multiprocessor. The results suggest that except in extreme cases, the remapping decision problem is essentially that of dynamically determining whether gain can be achieved by remapping after a phase change. The results also suggest that this heuristic is applicable to computations with more than two phases.

Nicol, David M.↗

Drilling Down I/O Bottlenecks with Cross-layer I/O Profile Exploration

I/O performance monitoring tools such as Darshan and Recorder collect I/O-related metrics on production systems and help understand the applications' behavior. However, some gaps prevent end-users from seeing the whole picture when it comes to detecting and drilling down to the root causes of I/O performance slowdowns and where those problems originate. These gaps arise from limitations in the available metrics, their collection strategy, and the lack of translation to actionable items that could advise on optimizations. This paper highlights such gaps and proposes solutions to drill down to the source code level to pinpoint the root causes of I/O bottlenecks scientific applications face by relying on cross-layer analysis combining multiple performance metrics related to I/O software layers. We demonstrate with two real applications how metrics collected in high-level libraries (which are closer to the data models used by an application), enhanced by source-code insights and natural language translations, can help streamline the understanding of I/O behavior and provide guidance to end-users, developers, and supercomputing facilities on how to improve I/O performance. Using this cross-layer analysis and the heuristic recommendations, we attained up to 6.9× speedup from run-as-is executions.

Ather, Hammad↗

Fuzzy Logic Trajectory Design and Guidance for Terminal Area Energy Management

The second generation reusable launch vehicle will leverage many new technologies to make flight to low earth orbit safer and more cost effective. One important capability will be completely autonomous flight during reentry and landing, thus making it unnecessary to man the vehicle for cargo missions with stringent weight constraints. Implementation of sophisticated new guidance and control methods will enable the vehicle to return to earth under less than favorable conditions. The return to earth consists of three phases--Entry, Terminal Area Energy Management (TAEM), and Approach and Landing. The Space Shuttle is programmed to fly all three phases of flight automatically, and under normal circumstances the astronaut-pilot takes manual control only during the Approach and Landing phase. The automatic control algorithms used in the Shuttle for TAEM and Approach and Landing have been developed over the past 30 years. They are computationally efficient, and based on careful study of the spacecraft's flight dynamics, and heuristic reasoning. The gliding return trajectory is planned prior to the mission, and only minor adjustments are made during flight for perturbations in the vehicle energy state. With the advent of the X-33 and X-34 technology demonstration vehicles, several authors investigated implementing advanced control methods to provide autonomous real-time design of gliding return trajectories thus enhancing the ability of the vehicle to adjust to unusual energy states. The bulk of work published to date deals primarily with the approach and landing phase of flight where changes in heading angle are small, and range to the runway is monotonically decreasing. These benign flight conditions allow for model simplification and fairly straightforward optimization. This project focuses on the TAEM phase of flight where mathematically precise methods have produced limited results. Fuzzy Logic methods are used to make onboard autonomous gliding return trajectory design robust to a wider energy envelope, and the possibility of control surface failures, thus increasing the flexibility of unmanned gliding recovery and landing.

Burchett, Bradley↗

An intelligent allocation algorithm for parallel processing

The problem of allocating nodes of a program graph to processors in a parallel processing architecture is considered. The algorithm is based on critical path analysis, some allocation heuristics, and the execution granularity of nodes in a program graph. These factors, and the structure of interprocessor communication network, influence the allocation. To achieve realistic estimations of the executive durations of allocations, the algorithm considers the fact that nodes in a program graph have to communicate through varying numbers of tokens. Coarse and fine granularities have been implemented, with interprocessor token-communication duration, varying from zero up to values comparable to the execution durations of individual nodes. The effect on allocation of communication network structures is demonstrated by performing allocations for crossbar (non-blocking) and star (blocking) networks. The algorithm assumes the availability of as many processors as it needs for the optimal allocation of any program graph. Hence, the focus of allocation has been on varying token-communication durations rather than varying the number of processors. The algorithm always utilizes as many processors as necessary for the optimal allocation of any program graph, depending upon granularity and characteristics of the interprocessor communication network.

Carroll, Chester C.↗

Revealing multiscale competing processes in the solid-state synthesis of single-crystalline layered oxide positive electrodes

Solid-state synthesis involves a web of coupled chemical reactions and physical changes that unfold across multiple scales. Efforts to fine-tune its parameters have historically followed heuristic, trial-driven workflows that demand significant time and resources. In this study, we aimed to open this black box by employing multiscale in situ synchrotron imaging and diffraction. Using LiNi 0.5 Mn 0.3 Co 0.2 O 2 battery positive electrode material as a model system and Ba-based sintering aids, we reveal dopant segregation, intergranular mass transport, and porosity evolution as key drivers of single-crystalline particle formation. Notably, we uncovered a dynamic competition between particle-level grain coalescence and atomic-scale cation disordering, both of which are thermally activated yet have opposing impacts on battery performance. These findings highlight the coupled, multiscale nature of structure development and offer a mechanistic basis for optimizing the solid-state synthesis process. This framework provides a path toward more controlled, efficient, and scalable production of high-performance battery positive electrode materials.

36 MATERIALS SCIENCE↗

Assessing Relay Communications for Mars Sample Return Surface Mission Concepts

The Mars Sample Return (MSR) Campaign is a 3-mission campaign concept supported by NASA and ESA to return samples from the Mars surface. MSR will, for the firsttime ever, present a need to communicate with multiple surfaceassets that are co-located on Mars in a coordinated effort toaccomplish the unified objective of fetching, transporting, andreturning samples from Mars. Currently, Mars surface assetsrelay data to and from Earth using a number of orbiters inwhat’s known as the Mars Relay Network (MRN). This networkis characterized by a small number of surface assets distributedacross the Martian globe and a larger number of orbiters toprovide relay services. As of June 2020, there are two surfaceassets for which five orbiters are providing relay. During theMSR Campaign, there will be two rovers and a lander that allwill require relay communication from a small number of Marsorbiters to meet the aggressive MSR timeline. The inversion ofthe current MRN paradigm, a system of many surface assetsrequiring relay and few orbiters to provide relay, necessitatesthe unique challenge of optimally allocating relay passes tomaximize the operational capability of all assets. The allocationmust consider a large number of trade variables includingMars asset operational requirements and Earth ground systemconstraints, including staffing schedules, operations planningacross time zones, and more. To address these telecommunicationchallenges, the Mars Asset Relay Mission Link AllocationDesign Environment (MARMLADE) tool was developed. Itis a MATLAB-based tool to assign orbiter passes or Direct-From-Earth (DFE) links to each of the three surface assets andquantify the operational efficiency of each surface asset.MARMLADE uses a data set of simulated Mars relay orbitergeometry and telecommunication capabilities provided by JPL’sTelecom Orbit Analysis and Simulation Tool (TOAST) softwareto compute which asset should get each pass based on a seriesof heuristics and predictions of all assets’ states. WithinMARMLADE, the user can provide inputs including the optionfor time-based pass splitting, fixed FWD data rate capabilities,DFE communication capabilities, and link parameters allowingfor the assessment of complex operations and hardware tradesusing surface mission operational efficiency as a primary figureof merit. As the MSR mission concepts continue to mature,MARMLADE is being used to assess ability of all MSR elementsto meet the surface mission timeline requirements and to provide relay link allocations to each of the MSR surface assets.

Lee, Charles↗

Isolating Curvature Effects in Computing Wall-Bounded Turbulent Flows

The flow over the zero-pressure-gradient So-Mellor convex curved wall is simulated using the Navier-Stokes equations. An inviscid effective outer wall shape, undocumented in the experiment, is obtained by using an adjoint optimization method with the desired pressure distribution on the inner wall as the cost function. Using this wall shape with a Navier-Stokes method, the abilities of various turbulence models to simulate the effects of curvature without the complicating factor of streamwise pressure gradient can be evaluated. The one-equation Spalart-Allmaras turbulence model overpredicts eddy viscosity, and its boundary layer profiles are too full. A curvature-corrected version of this model improves results, which are sensitive to the choice of a particular constant. An explicit algebraic stress model does a reasonable job predicting this flow field. However, results can be slightly improved by modifying the assumption on anisotropy equilibrium in the model's derivation. The resulting curvature-corrected explicit algebraic stress model possesses no heuristic functions or additional constants. It lowers slightly the computed skin friction coefficient and the turbulent stress levels for this case (in better agreement with experiment), but the effect on computed velocity profiles is very small.

Rumsey, Christopher L.↗

Assessing Relay Communications for Mars Sample Return Surface Mission Concepts

The Mars Sample Return (MSR) Campaign would be a 3-mission campaign concept supported by NASA and ESA to return samples from the Mars surface. MSR would, for the first time ever, present a need to communicate with multiple surface assets that are co-located on Mars in a coordinated effort to accomplish the unified objective of fetching, transporting, and returning samples from Mars. Currently, Mars surface assets relay data to and from Earth using a number of orbiters in what’s known as the Mars Relay Network (MRN). This network is characterized by a small number of surface assets distributed across the Martian globe and a larger number of orbiters to provide relay services. As of June 2020, there are two surface assets for which five orbiters are providing relay. During the MSR Campaign, there would be two rovers and a lander that all would require relay communication from a small number of Mars orbiters to meet the aggressive MSR timeline. The inversion of the current MRN paradigm, a system of many surface assets requiring relay and few orbiters to provide relay, necessitates the unique challenge of optimally allocating relay passes to maximize the operational capability of all assets. The allocation must consider a large number of trade variables including Mars asset operational requirements and Earth ground system constraints, including staffing schedules, operations planning across time zones, and more. To address these telecommunication challenges, the Mars Asset Relay Mission Link Allocation Design Environment (MARMLADE) tool was developed. It is a MATLAB-based tool to assign orbiter passes or Direct-From-Earth (DFE) links to each of the three surface assets and quantify the operational efficiency of each surface asset.MARMLADE uses a data set of simulated Mars relay orbiter geometry and telecommunication capabilities provided by JPL’s Telecom Orbit Analysis and Simulation Tool (TOAST) software to compute which asset should get each pass based on a series of heuristics and predictions of all assets’ states. Within MARMLADE, the user can provide inputs including the option for time-based pass splitting, fixed FWD data rate capabilities, DFE communication capabilities, and link parameters allowing for the assessment of complex operations and hardware trades using surface mission operational efficiency as a primary figure of merit. As the MSR mission concepts continue to mature, MARMLADE is being used to assess ability of all MSR elements to meet the surface mission timeline requirements and to provide relay link allocations to each of the MSR surface assets.This paper will describe the motivation and design of the MARMLADE tool and how it is being used to perform campaign and mission level trades, generate requirements, and support development of the MSR surface mission scenarios.

Lee, Charles↗