I. Michael Ross

Isaac Michael Ross is a Distinguished Professor and Program Director of Control and Optimization at the Naval Postgraduate School in Monterey, CA. He has published a highly-regarded textbook on optimal control theory and seminal papers in pseudospectral optimal control theory,
energy-sink theory, the optimization and deflection of near-Earth asteroids and comets,
robotics, attitude dynamics and control, orbital mechanics, real-time optimal control and
unscented optimal control. The Kang–Ross–Gong theorem, Ross' lemma, Ross' time constant, the Ross–Fahroo lemma, and the Ross–Fahroo pseudospectral method are all named after him.
Theoretical contributions.
Although Ross has made contributions to energy-sink theory, attitude dynamics and control and planetary defense, he is best known for work on pseudospectral optimal control. In 2001, Ross and Fahroo announced the covector mapping principle, first, as a special result in pseudospectral optimal control, and later as a general result in optimal control. This principle was based on the Ross–Fahroo lemma which proves that dualization and discretization are not necessarily commutative operations and that certain steps must be taken to promote commutation. When discretization is commutative with dualization, then, under appropriate conditions, Pontryagin's minimum principle emerges as a consequence of the convergence of the discretization.
Together with F. Fahroo, W. Kang and Q. Gong, Ross proved a series of results on the convergence of pseudospectral discretizations of optimal control problems. Ross and his coworkers showed that the Legendre and Chebyshev pseudospectral discretizations converge to an optimal solution of a problem under the mild condition of boundedness of variations.
Software contributions.
In 2001, Ross created DIDO, a software package for solving optimal control problems. Powered by pseudospectral methods, Ross created a user-friendly set of objects that required no knowledge of his theory to run DIDO. This work was used in on pseudospectral methods for solving optimal control problems. DIDO is used for solving optimal control problems in aerospace applications, search theory, and robotics. Ross' constructs have been licensed to other software products, and have been used by NASA to solve flight-critical problems on the International Space Station.
Flight contributions.
In 2006, NASA used DIDO to implement zero propellant maneuvering of the International Space Station. In 2007, "SIAM News" printed a page 1 article announcing the use of Ross' theory. This led other researchers to explore the mathematics of pseudospectral optimal control theory. DIDO is also used to maneuver the Space Station and operate various ground and flight equipment to incorporate autonomy and performance efficiency for nonlinear control systems.
Awards and distinctions.
In 2010, Ross was elected a Fellow of the American Astronautical Society for "his pioneering contributions to the theory, software and flight demonstration of pseudospectral optimal control." He also received (jointly with Fariba Fahroo), the AIAA Mechanics and Control of Flight Award for "fundamentally changing the landscape of flight mechanics". His research has made headlines in "SIAM News", "IEEE Control Systems Magazine", "IEEE Spectrum", and "Space Daily".


Ultrasonic welding of thermoplastics

Ultrasonic welding is a method of joining thermoplastic components by heating and subsequent melting of surfaces in contact. Mechanical vibration with frequency between 10 and 70 kHz and amplitude of 10 to 250 μm is applied to joining parts. After ultrasonic energy is turned off, the parts remain in contact under pressure for some time while the melt layer cools down creating a weld.
Different join designs and process controls are used in ultrasonic welding. A sharp surface feature is typically introduced to one of the parts ensuring consistency of the welding process. Components of ultrasonic welding systems as well as the areas of application are described in the article Ultrasonic welding.
Advantages and disadvantages.
Following advantages are typically attributed to ultrasonic welding:
Following are the disadvantages of ultrasonic welding:
Process description.
Plunge and continuous welding are the welding modes of thermoplastics.
Plunge ultrasonic welding.
With plunge ultrasonic welding the parts are first secured in a fixture. Ultrasonic energy is then applied to create a weld. After the weld is cooled down, the parts are removed from the fixture.
At the start of the process, an actuator is moved to a part. This stage is called "downstroke." Ultrasonic energy can be applied during this phase depending on the size of a horn used. The larger the horn the harder it is to vibrate. Therefore, application of ultrasonic energy during the down stroke becomes necessary ("pre-triggering"). In other cases, the vibration is applied after the horn came in contact with the part and some pressure has been created. The force is then continues to increase linearly until some predefined value.
The power rises at the same time as ultrasonic energy is being applied in order to accommodate the stack vibration. After some period of time a steady-state process, which indicate sufficient melting at the interface, is reached. At this point, ultrasonic energy is turned off. In production, this often happens prior to reaching the steady-state process as desired strength of the weld joint for a particular application is typically reached at this point. The tooling continues to stay on the part for a period of time called "hold time." This allows for certain pressure ("hold force") to be applied to the part. Hold time typically lasts for one half of weld time allowing the weld to solidify.
The tooling is being removed from the part during a phase called “up-stroke.” This stage takes place at the completion of the hold time. Some amount of plastic substrate can remain on tooling surface after the welding process. To clean the surface, ultrasonic energy is applied when the tool is being retracted from the part ("post weld burst").
Continuous ultrasonic welding.
Continuous ultrasonic welding mode is used for joining thin layers of material and is often employed for manufacturing products for hospitals such as gowns and sterile garments, and in other applications.
Two layers of material are pulled through a space between a disk – rotary drum (anvil) – and a horn (image). Anvil's surface contains certain pattern. The weld is created at these asperities and the areas between the peaks remain unboned. Surface of the horn is typically round, which prevents undesirable seizing of material. Round horn also allows for proper force distribution at the contact interface.
More than two layers of material can be welded at once. The materials to be welded experience similar vibrations to those in plunge welding but shorter in time. Hold force to the newly welded region is provided by previously welded section that has come out of the tooling and cooled down.
Scan welding is a type of continuous ultrasonic welding in which case large plates or sheets can be welded. In scan welding, a part is secured on a stationary table and the horn moves across the part creating a weld joint. A combination of stationary horn and mobile table can also be employed. The horn has round edges as in case with continuous welding and the ultrasonic vibrations are similar to those in plunge welding. The horn can be used to provide the hold force.
Process control.
Different ultrasonic welding machines offer different process controls. Each application determines the level of process control. In case with ordinary spot welds, a hand-held welder would be sufficient. More sophisticated equipment with computerized controls and built-in statistical process control (SPC) software may be appropriate in medical devices industry and other applications requiring narrow tolerances and high quality welds.
Following modes of process control are used in ultrasonic welding:
Most of these modes require microprocessor based controller while a basic welding system would be enough for time mode. Welding parameters can be monitored in real time with microprocessor based controllers.
The majority of welding systems include "time mode" that allows the operator to specify the duration of welding process independent from other parameters. In "energy control mode", the vibration of the tool continues until a preset energy level is reached. Energy mode can be used in conjunction with time mode to improve the quality of welded parts. Certain time limits can be defined to reach the necessary energy level. Should the actual time for reaching the preset energy level deviate from those time limits, such an event would be indicative of a potential issue with the weld.
In "collapse mode", ultrasonic energy is applied until the parts have collapsed (moved relative to one another) to a certain height. In addition to microprocessor based controller, a linear encoder is used in systems with collapse control. In this mode, the final height of the weld joint can also be controlled by detecting the position of the horn. In "peak power mode", the vibration continues until predefined power level is reached. The final dimensions of the weld joint can also be controlled with "ground detect mode". In this case, ultrasonic energy is applied until the horn makes electrical contact with the fixture that is positioned at the desired height.
Various combinations of process control modes can be employed to define an operating window and aid in quality control.
Joint design.
As with other welding processes, join design is essential step in product development. Many factors should be considered in joint design such as materials to be welded, thickness of parts, operating conditions of the final product, aesthetics and others. Narrow contact area between joining parts is essential design attribute. It allows lower energy input for generating a surface layer of molten plastic. Parts fit-up should provide necessary alignment without interference with their surface features.
Energy directors.

Energy director is a triangular section molded on one of the joint parts. While the parts initially contact each other through this triangle, it carries the highest stress, and is therefore the first portion to melt under application of ultrasonic energy. The purpose of energy directors is to ensure that sufficient amount of material is melted as they fill out the gap between mating parts. Energy directors most commonly used with amorphous polymers, but can also be used with semi-crystalline polymers.
While flash is commonly produced with such joint design, it can be covered with a flash trap. This joint feature conceals the flash providing aesthetic appearance. Minimum recommended wall thickness in this case is 2.03 – 2.29 mm. Since the smaller surface area is used to create a weld with step joint design, it could have lower strength than butt joint design.
Following dimensions for energy directors are typically recommended:
Sharper apex angle provides greater weld strength and ensures tight seal. Such design also works well with polycarbonate and acrylic.
Butt joint is one of the most common weld configurations used with energy directors. Hermetic seal may not be easily achieved in semi-crystalline polymers as they crystallize faster when exposed to air atmosphere. However, hermetic seal can be obtained with amorphous polymers provided good alignment of mating parts with additional fixtures.
Tongue and groove joint design does not require additional fixtures for proper alignment. Molten plastic is fully enclosed in the groove providing aesthetic appearance. Minimum recommended wall thickness is 3.05 – 3.12 mm.
Shear joints.
Some applications require the plastic welds to be hermetically stable. To satisfy this requirement, shear joints are typically used instead of energy directors. To achieve proper sealing, small tolerances are necessary. Such a stipulation could be difficult to satisfy with larger parts.
When a shear joint is assembled, top part contacts the bottom one along a thin edge, which is the first section to melt. This molten material then flows along the side wall of the bottom part filling up the gap between the parts. While a shear joint provides alignment for mating parts, it often requires additional fixtures to support the top part of the joint from deflecting outwards as it experiences pressing force from the tool. To mitigate the risk of deflection, robust design of the top part ensuring sufficient stiffness is essential.
Shear joints can be used with all polymers. They are well-suited for cylindrical parts.


Counting point

In logistics, a counting point (CP; also known as a status point, data acquisition point, check point, or control point) is a certain spot designated for planning, controlling, and monitoring material flow items (e.g. single parts, assembly groups, final products, bins, racks, containers, and freight carriers).
Installation.
If the production and material flow gets more and more complex then more counting points must be installed in the process of transport, shipping, and manufacturing. Especially check points for quality control and quality assurance can be used outstandingly as counting points but also data acquisition points in material handling processes. For better planning and monitoring of material flow items it is helpful to order all counting points in such a way that the requirements of an ideal Boolean Interval (mathematics) Algebra can be fulfilled. Boolean intervals are half-opened and a counting point lays always inside at the beginning and the ending lays outside and is the entry-point of the next-following interval. Such an interval can represent any kind of stretch in production and material flow e.g. an assembly line, a storage or warehouse, a transport route etc. Alternative production and transportation stretches are mapped as parallel intervals, which are logical equivalent but have their own different data acquisition points. If a flow item passes a certain CP it has left the preceding interval and stays in the concerned interval at the same time. By this it can be assured that a flow object can stay only in one interval at a certain moment which is also true and evident for parallel intervals. This kind of mapping material flow structure is necessary for a consistent calculation of the lead-time and complete cycle time for flow items which is extremely important not only for material flow planning but also for production planning and manufacturing operations management in general.
Usage.
Counting points are used in different logistic areas like transportation, material handling, goods receipt, and goods issue at the border of a plant, because this is often transfer of ownership. Other well-known counting points are receiving and issuing material items at the border of a storage or warehouse. Counting points play an important rule also in manufacturing and production scheduling and different concepts of material requirements planning (e.g for the concept of cumulative quantities and the gross-net-method. Counting points also appear in the automotive industry where the production flow of a car is controlled, scheduled, and monitored continuously at exactly-defined check points for different manufacturing departments and shops and where the data is used for scheduling and optimization.


Data-driven control system

Data-driven control systems are a broad family of control systems, in which the identification of the process model and/or the design of the controller are based entirely on "experimental data" collected from the plant.
In many control applications, trying to write a mathematical model of the plant is considered a hard task, requiring efforts and time to the process and control engineers. This problem is overcome by "data-driven" methods, which fit a system model to the experimental data collected, choosing it in a specific models class. The control engineer can then exploit this model to design a proper controller for the system. However, it is still difficult to find a simple yet reliable model for a physical system, that includes only those dynamics of the system that are of interest for the control specifications. The "direct" data-driven methods allow to tune a controller, belonging to a given class, without the need of an identified model of the system. In this way, one can also simply weight process dynamics of interest inside the control cost function, and exclude those dynamics that are out of interest.
Overview.
The "standard" approach to control systems design is organized in two-steps:
Typical objectives of system identification are to have formula_9 as close as possible to formula_7, and to have formula_6 as small as possible. However, from an identification for control perspective, what really matters is the performance achieved by the controller, not the intrinsic quality of the model.
One way to deal with uncertainty is to design a controller that has an acceptable performance with all models in formula_6, including formula_7. This is the main idea behind robust control design procedure, that aims at building frequency domain uncertainty descriptions of the process. However, being based on worst-case assumptions rather than on the idea of averaging out the noise, this approach typically leads to "conservative" uncertainty sets. Rather, data-driven techniques deal with uncertainty by working on experimental data, and avoiding excessive conservativism.
In the following, the main classifications of data-driven control systems are presented.
Indirect and direct methods.
There are many methods available to control the systems.
The fundamental distinction is between indirect and direct controller design methods. The former group of techniques is still retaining the standard two-step approach, "i.e." first a model is identified, then a controller is tuned based on such model. The main issue in doing so is that the controller is computed from the estimated model formula_9 (according to the certainty equivalence principle), but in practice formula_16. To overcome this problem, the idea behind the latter group of techniques is to map the experimental data "directly" onto the controller, without any model to be identified in between.
Iterative and noniterative methods.
Another important distinction is between iterative and noniterative (or one-shot) methods. In the former group, repeated iterations are needed to estimate the controller parameters, during which the optimization problem is performed based on the results of the previous iteration, and the estimation is expected to become more and more accurate at each iteration. This approach is also prone to on-line implementations (see below). In the latter group, the (optimal) controller parametrization is provided with a single optimization problem. This is particularly important for those systems in which iterations or repetitions of data collection experiments are limited or even not allowed (for example, due to economic aspects). In such cases, one should select a design technique capable of delivering a controller on a single data set. This approach is often implemented off-line (see below).
On-line and off-line methods.
Since, on practical industrial applications, open-loop or closed-loop data are often available continuously, on-line data-driven techniques use those data to improve the quality of the identified model and/or the performance of the controller each time new information is collected on the plant. Instead, off-line approaches work on batch of data, which may be collected only once, or multiple times at a regular (but rather long) interval of time.
Iterative feedback tuning.
The iterative feedback tuning (IFT) method was introduced in 1994, starting from the observation that, in identification for control, each iteration is based on the (wrong) certainty equivalence principle.
IFT is a model-free technique for the direct iterative optimization of the parameters of a fixed-order controller; such parameters can be successively updated using information coming from standard (closed-loop) system operation.
Let formula_17 be a desired output to the reference signal formula_18; the error between the achieved and desired response is formula_19. The control design objective can be formulated as the minimization of the objective function:
Given the objective function to minimize, the "quasi-Newton method" can be applied, i.e. a gradient-based minimization using a gradient search of the type:
The value formula_22 is the step size, formula_23 is an appropriate positive definite matrix and formula_24 is an approximation of the gradient; the true value of the gradient is given by the following:
The value of formula_26 is obtained through the following three-step methodology:
A crucial factor for the convergence speed of the algorithm is the choice of formula_23; when formula_38 is small, a good choice is the approximation given by the Gauss–Newton direction:
Noniterative correlation-based tuning.
Noniterative correlation-based tuning (nCbT) is a noniterative method for data-driven tuning of a fixed-structure controller. It provides a one-shot method to directly synthesize a controller based on a single dataset.
Suppose that formula_4 denotes an unknown LTI stable SISO plant, formula_41 a user-defined reference model and formula_42 a user-defined weighting function. An LTI fixed-order controller is indicated as formula_43, where formula_44, and formula_45 is a vector of LTI basis functions. Finally, formula_46 is an ideal LTI controller of any structure, guaranteeing a closed-loop function formula_41 when applied to formula_4.
The goal is to minimize the following objective function:
formula_50 is a convex approximation of the objective function obtained from a model reference problem, supposing that formula_51.
When formula_4 is stable and minimum-phase, the approximated model reference problem is equivalent to the minimization of the norm of formula_53 in the scheme in figure.
The input signal formula_54 is supposed to be a persistently exciting input signal and formula_55 to be generated by a stable data-generation mechanism. The two signals are thus uncorrelated in an open-loop experiment; hence, the ideal error formula_56 is uncorrelated with formula_54. The control objective thus consists in finding formula_58 such that formula_54 and formula_56 are uncorrelated.
The vector of "instrumental variables" formula_61 is defined as:
where formula_63 is large enough and formula_64, where formula_65 is an appropriate filter.
The correlation function is:
and the optimization problem becomes:
Denoting with formula_68 the spectrum of formula_54, it can be demonstrated that, under some assumptions, if formula_65 is selected as:
then, the following holds:
Stability constraint.
There is no guarantee that the controller formula_73 that minimizes formula_74 is stable. Instability may occur in the following cases:
Consider a stabilizing controller formula_81 and the closed loop transfer function formula_82.
Define:
Condition 1. is enforced when:
The model reference design with stability constraint becomes:
A convex data-driven estimation of formula_94 can be obtained through the discrete Fourier transform.
Define the following:
For stable minimum phase plants, the following convex data-driven optimization problem is given:
Virtual reference feedback tuning.
Virtual Reference Feedback Tuning (VRFT) is a noniterative method for data-driven tuning of a fixed-structure controller. It provides a one-shot method to directly synthesize a controller based on a single dataset.
VRFT was first proposed in and then extended to LPV systems. VRFT also builds on ideas given in as formula_97.
The main idea is to define a desired closed loop model formula_41 and to use its inverse dynamics to obtain a virtual reference formula_99 from the measured output signal formula_100.
The virtual signals are formula_101 and formula_102
The optimal controller is obtained from noiseless data by solving the following optimization problem:
where the optimization function is given as follows:


Karush–Kuhn–Tucker conditions

In mathematical optimization, the Karush–Kuhn–Tucker (KKT) conditions, also known as the Kuhn–Tucker conditions, are first derivative tests (sometimes called first-order necessary conditions) for a solution in nonlinear programming to be optimal, provided that some regularity conditions are satisfied.
Allowing inequality constraints, the KKT approach to nonlinear programming generalizes the method of Lagrange multipliers, which allows only equality constraints. Similar to the Lagrange approach, the constrained maximization (minimization) problem is rewritten as a Lagrange function whose optimal point is a (global) saddle point, i.e. a global maximum (minimum) over the domain of the choice variables and a global minimum (maximum) over the multipliers, which is why the Karush–Kuhn–Tucker theorem is sometimes referred to as the saddle-point theorem.
The KKT conditions were originally named after Harold W. Kuhn and Albert W. Tucker, who first published the conditions in 1951. Later scholars discovered that the necessary conditions for this problem had been stated by William Karush in his master's thesis in 1939.
Nonlinear optimization problem.
Consider the following nonlinear optimization problem in standard form:
where formula_4 is the optimization variable chosen from a convex subset of formula_5, formula_6 is the objective or utility function, formula_7 are the inequality constraint functions and formula_8 are the equality constraint functions. The numbers of inequalities and equalities are denoted by formula_9 and formula_10 respectively. Corresponding to the constrained optimization problem one can form the Lagrangian function
formula_11
where
formula_12 The Karush–Kuhn–Tucker theorem then states the following.
Since the idea of this approach is to find a supporting hyperplane on the feasible set formula_13, the proof of the Karush–Kuhn–Tucker theorem makes use of the hyperplane separation theorem.
The system of equations and inequalities corresponding to the KKT conditions is usually not solved directly, except in the few special cases where a closed-form solution can be derived analytically. In general, many optimization algorithms can be interpreted as methods for numerically solving the KKT system of equations and inequalities.
Necessary conditions.
Suppose that the objective function formula_14 and the constraint functions formula_15 and formula_16 have subderivatives at a point formula_17. If formula_18 is a local optimum and the optimization problem satisfies some regularity conditions (see below), then there exist constants formula_19 and formula_20, called KKT multipliers, such that the following four groups of conditions hold:
The last condition is sometimes written in the equivalent form: formula_29
In the particular case formula_30, i.e., when there are no inequality constraints, the KKT conditions turn into the Lagrange conditions, and the KKT multipliers are called Lagrange multipliers.
Interpretation: KKT conditions as balancing constraint-forces in state space.
The primal problem can be interpreted as moving a particle in the space of formula_31, and subjecting it to three kinds of force fields:
Primal stationarity states that the "force" of formula_40 is exactly balanced by a linear sum of forces formula_41 and formula_42.
Dual feasibility additionally states that all the formula_42 forces must be one-sided, pointing inwards into the feasible set for formula_31.
Dual slackness states that if formula_45, then the formula_42 force must be zero, since the particle is not on the boundary, the one-sided constraint force cannot activate.
Matrix representation.
The necessary conditions can be written with Jacobian matrices of the constraint functions. Let formula_47 be defined as formula_48 and let formula_49 be defined as formula_50. Let formula_51 and formula_52. Then the necessary conditions can be written as:
Regularity conditions (or constraint qualifications).
One can ask whether a minimizer point formula_18 of the original, constrained optimization problem (assuming one exists) has to satisfy the above KKT conditions. This is similar to asking under what conditions the minimizer formula_18 of a function formula_21 in an unconstrained problem has to satisfy the condition formula_64. For the constrained case, the situation is more complicated, and one can state a variety of (increasingly complicated) "regularity" conditions under which a constrained minimizer also satisfies the KKT conditions. Some common examples for conditions that guarantee this are tabulated in the following, with the LICQ the most frequently used one:
The strict implications can be shown
and
In practice weaker constraint qualifications are preferred since they apply to a broader selection of problems.
Sufficient conditions.
In some cases, the necessary conditions are also sufficient for optimality. In general, the necessary conditions are not sufficient for optimality and additional information is required, such as the Second Order Sufficient Conditions (SOSC). For smooth functions, SOSC involve the second derivatives, which explains its name.
The necessary conditions are sufficient for optimality if the objective function formula_6 of a maximization problem is a differentiable concave function, the inequality constraints formula_66 are differentiable convex functions, the equality constraints formula_67 are affine functions, and Slater's condition holds. Similarly, if the objective function formula_6 of a minimization problem is a differentiable convex function, the necessary conditions are also sufficient for optimality.
It was shown by Martin in 1985 that the broader class of functions in which KKT conditions guarantees global optimality are the so-called Type 1 invex functions.
Second-order sufficient conditions.
For smooth, non-linear optimization problems, a second order sufficient condition is given as follows.
The solution formula_69 found in the above section is a constrained local minimum if for the Lagrangian,
then,
where formula_72 is a vector satisfying the following,
where only those active inequality constraints formula_74 corresponding to strict complementarity (i.e. where formula_75) are applied. The solution is a strict constrained local minimum in the case the inequality is also strict.
If formula_76, the third order Taylor expansion of the Lagrangian should be used to verify if formula_18 is a local minimum. The minimization of formula_78 is a good counter-example, see also Peano surface.
Economics.
Often in mathematical economics the KKT approach is used in theoretical models in order to obtain qualitative results. For example, consider a firm that maximizes its sales revenue subject to a minimum profit constraint. Letting formula_79 be the quantity of output produced (to be chosen), formula_80 be sales revenue with a positive first derivative and with a zero value at zero output, formula_81 be production costs with a positive first derivative and with a non-negative value at zero output, and formula_82 be the positive minimal acceptable level of profit, then the problem is a meaningful one if the revenue function levels off so it eventually is less steep than the cost function. The problem expressed in the previously given minimization form is
and the KKT conditions are
Since formula_87 would violate the minimum profit constraint, we have formula_88 and hence the third condition implies that the first condition holds with equality. Solving that equality gives
Because it was given that formula_90 and formula_91 are strictly positive, this inequality along with the non-negativity condition on formula_92 guarantees that formula_92 is positive and so the revenue-maximizing firm operates at a level of output at which marginal revenue formula_94 is less than marginal cost formula_95 — a result that is of interest because it contrasts with the behavior of a profit maximizing firm, which operates at a level at which they are equal.
Value function.
If we reconsider the optimization problem as a maximization problem with constant inequality constraints:
The value function is defined as
so the domain of formula_103 is formula_104
Given this definition, each coefficient formula_105 is the rate at which the value function increases as formula_106 increases. Thus if each formula_106 is interpreted as a resource constraint, the coefficients tell you how much increasing a resource will increase the optimum value of our function formula_6. This interpretation is especially important in economics and is used, for instance, in utility maximization problems.
Generalizations.
With an extra multiplier formula_109, which may be zero (as long as formula_110), in front of formula_111 the KKT stationarity conditions turn into
which are called the Fritz John conditions. This optimality conditions holds without constraint qualifications and it is equivalent to the optimality condition "KKT or (not-MFCQ)".
The KKT conditions belong to a wider class of the first-order necessary conditions (FONC), which allow for non-smooth functions using subderivatives.


Waffles (machine learning)

Waffles is a collection of command-line tools for performing machine learning operations developed at Brigham Young University. These tools are written in C++, and are available under the GNU Lesser General Public License.
Description.
The Waffles machine learning toolkit contains command-line tools for performing various operations related to machine learning, data mining, and predictive modeling. The primary focus of Waffles is to provide tools that are simple to use in scripted experiments or processes. For example, the supervised learning algorithms included in Waffles are all designed to support multi-dimensional labels, classification and regression, automatically impute missing values, and automatically apply necessary filters to transform the data to a type that the algorithm can support, such that arbitrary learning algorithms can be used with arbitrary data sets. Many other machine learning toolkits provide similar functionality, but require the user to explicitly configure data filters and transformations to make it compatible with a particular learning algorithm. The algorithms provided in Waffles also have the ability to automatically tune their own parameters (with the cost of additional computational overhead).
Because Waffles is designed for script-ability, it deliberately avoids presenting its tools in a graphical environment. It does, however, include a graphical "wizard" tool that guides the user to generate a command that will perform a desired task. This wizard does not actually perform the operation, but requires the user to paste the command that it generates into a command terminal or a script. The idea motivating this design is to prevent the user from becoming "locked in" to a graphical interface.
All of the Waffles tools are implemented as thin wrappers around functionality in a C++ class library. This makes it possible to convert scripted processes into native applications with minimal effort.
Waffles was first released as an open source project in 2005. Since that time, it has been developed at Brigham Young University, with a new version having been released approximately every 6–9 months. Waffles is not an acronym—the toolkit was named after the food for historical reasons.
Advantages.
Some of the advantages of Waffles in contrast with other popular open source machine learning toolkits include:


IEEE Robotics and Automation Society

The IEEE Robotics and Automation Society (IEEE RAS) is a professional society of the IEEE that supports the development and the exchange of scientific knowledge in the fields of robotics and automation, including applied and theoretical issues.
History.
The initial IEEE Robotics and Automation (R&A) entity, the Robotics and Automation Council, was founded in 1984 by a number of IEEE Societies including Aerospace and Electronic Systems, Circuits and Systems, Components, Hybrids, and Manufacturing Technology, Computers, Control Systems, Industrial Electronics, Industry Applications, and Systems, Man and Cybernetics. In 1987 the council became the IEEE Robotics and Automation Society.
Field of interest.
The Society states in its constitution that it "is interested in both applied and theoretical issues in robotics and automation. Robotics is here defined to include intelligent machines and systems used, for example, in space exploration, human services, or manufacturing; whereas automation includes the use of automated methods in various applications, for example, factory, office, home, or transportation systems to improve performance and productivity."
Publications.
The society publishes a range of peer-reviewed journals, including
Co-sponsored publications include:
Conferences.
The IEEE Robotics and Automation Society sponsors and co-sponsors a number of annual international conferences such as the International Conference on Robotics and Automation and International Conference on Intelligent Robots and Systems.


Global information system

Global information system is an information system which is developed and / or used in a global context. Some examples of GIS are SAP, The Global Learning Objects Brokered Exchange and other systems.
Definition.
There are a variety of definitions and understandings of a global information system (GIS, GLIS), such as
Common to this class of information systems is that the context is a global setting, either for its use or development process. This means that it highly relates to distributed systems / distributed computing where the distribution is global. The term also incorporates aspects of global software development and there outsourcing (when the outsourcing locations are globally distributed) and offshoring aspects. A specific aspect of global information systems is the case (domain) of global software development. A main research aspect in this field concerns the coordination of and collaboration between virtual teams. Further important aspects are the internationalization and language localization of system components.
Tasks in designing global information systems.
Critical tasks in designing global information systems are
A variety of examples can be given. Basically every multi-lingual website can be seen as a global information system. However, mostly the term GLIS is used to refer to a specific system developed or used in a global context.
Examples.
Specific examples are


Linear system

In systems theory, a linear system is a mathematical model of a system based on the use of a linear operator.
Linear systems typically exhibit features and properties that are much simpler than the nonlinear case.
As a mathematical abstraction or idealization, linear systems find important applications in automatic control theory, signal processing, and telecommunications. For example, the propagation medium for wireless communication systems can often be
modeled by linear systems.
Definition.
A general deterministic system can be described by an operator, that maps an input, as a function of to an output, a type of black box description.
A system is linear if and only if it satisfies the superposition principle, or equivalently both the additivity and homogeneity properties, without restrictions (that is, for all inputs, all scaling constants and all time.)
The superposition principle means that a linear combination of inputs to the system produces a linear combination of the individual zero-state outputs (that is, outputs setting the initial conditions to zero) corresponding to the individual inputs.
In a system that satisfies the homogeneity property, scaling the input always results in scaling the zero-state response by the same factor. In a system that satisfies the additivity property, adding two inputs always results in adding the corresponding two zero-state responses due to the individual inputs.
Mathematically, for a continuous-time system, given two arbitrary inputs
formula_1
as well as their respective zero-state outputs
formula_2
then a linear system must satisfy
formula_3
for any scalar values and , for any input signals and , and for all time .
The system is then defined by the equation , where is some arbitrary function of time, and is the system state. Given and the system can be solved for
The behavior of the resulting system subjected to a complex input can be described as a sum of responses to simpler inputs. In nonlinear systems, there is no such relation.
This mathematical property makes the solution of modelling equations simpler than many nonlinear systems.
For time-invariant systems this is the basis of the impulse response or the frequency response methods (see LTI system theory), which describe a general input function in terms of unit impulses or frequency components.
Typical differential equations of linear time-invariant systems are well adapted to analysis using the Laplace transform in the continuous case, and the Z-transform in the discrete case (especially in computer implementations).
Another perspective is that solutions to linear systems comprise a system of functions which act like vectors in the geometric sense.
A common use of linear models is to describe a nonlinear system by linearization. This is usually done for mathematical convenience.
The previous definition of a linear system is applicable to SISO (single-input single-output) systems. For MIMO (multiple-input multiple-output) systems, input and output signal vectors (formula_4, formula_5, formula_6, formula_7) are considered instead of input and output signals (formula_8, formula_9, formula_10, formula_11.)
This definition of a linear system is analogous to the definition of a linear differential equation in calculus, and a linear transformation in linear algebra.
Examples.
A simple harmonic oscillator obeys the differential equation:
formula_12
If formula_13
then is a linear operator. Letting we can rewrite the differential equation as which shows that a simple harmonic oscillator is a linear system.
Other examples of linear systems include those described by formula_14, formula_15, formula_16, and any system described by ordinary linear differential equations. Systems described by formula_17, formula_18, formula_19, formula_20, formula_21, formula_22, formula_23, and a system with odd-symmetry output consisting of a linear region and a saturation (constant) region, are non-linear because they don't always satisfy the superposition principle.
The output versus input graph of a linear system need not be a straight line through the origin. For example, consider a system described by formula_15 (such as a constant-capacitance capacitor or a constant-inductance inductor). It is linear because it satisfies the superposition principle. However, when the input is a sinusoid, the output is also a sinusoid, and so its output-input plot is an ellipse centered at the origin rather than a straight line passing through the origin.
Also, the output of a linear system can contain harmonics (and have a smaller fundamental frequency than the input) even when the input is a sinusoid. For example, consider a system described by formula_25. It is linear because it satisfies the superposition principle. However, when the input is a sinusoid of the form formula_26, using product-to-sum trigonometric identities it can be easily shown that the output is formula_27, that is, the output doesn't consist only of sinusoids of same frequency as the input , but instead also of sinusoids of frequencies and ; furthermore, taking the least common multiple of the fundamental period of the sinusoids of the output, it can be shown the fundamental angular frequency of the output is , which is different than that of the input.
Time-varying impulse response.
The time-varying impulse response of a linear system is defined as the response of the system at time "t" = "t"2 to a single impulse applied at time In other words, if the input to a linear system is
formula_28
where represents the Dirac delta function, and the corresponding response of the system is
formula_29
then the function is the time-varying impulse response of the system. Since the system cannot respond before the input is applied the following causality condition must be satisfied:
formula_30
The convolution integral.
The output of any general continuous-time linear system is related to the input by an integral which may be written over a doubly infinite range because of the causality condition:
formula_31
If the properties of the system do not depend on the time at which it is operated then it is said to be time-invariant and is a function only of the time difference which is zero for (namely ). By redefinition of it is then possible to write the input-output relation equivalently in any of the ways,
formula_32
Linear time-invariant systems are most commonly characterized by the Laplace transform of the impulse response function called the "transfer function" which is:
formula_33
In applications this is usually a rational algebraic function of . Because is zero for negative , the integral may equally be written over the doubly infinite range and putting follows the formula for the "frequency response function":
formula_34
Discrete-time systems.
The output of any discrete time linear system is related to the input by the time-varying convolution sum:
formula_35
or equivalently for a time-invariant system on redefining ,
formula_36
where formula_37 represents the lag time between the stimulus at time "m" and the response at time "n".


Linear control

Linear control are control systems and control theory based on "negative feedback" for producing a control signal to maintain the controlled process variable (PV) at the desired setpoint (SP). There are several types of linear control systems with different capabilities.
Proportional control.
Proportional control is a type of linear feedback control system in which a correction is applied to the controlled variable which is proportional to the difference between the desired value (SP) and the measured value (PV). Two classic mechanical examples are the toilet bowl float proportioning valve and the fly-ball governor.
The proportional control system is more complex than an on–off control system but simpler than a proportional-integral-derivative (PID) control system used, for instance, in an automobile cruise control. On–off control will work for systems that do not require high accuracy or responsiveness but are not effective for rapid and timely corrections and responses. Proportional control overcomes this by modulating the manipulated variable (MV), such as a control valve, at a gain level that avoids instability, but applies correction as fast as practicable by applying the optimum quantity of proportional correction.
A drawback of proportional control is that it cannot eliminate the residual SP–PV error, as it requires an error to generate a proportional output. A PI controller can be used to overcome this. The PI controller uses a proportional term (P) to remove the gross error, and an integral term (I) to eliminate the residual offset error by integrating the error over time.
In some systems, there are practical limits to the range of the MV. For example, a heater has a limit to how much heat it can produce and a valve can open only so far. Adjustments to the gain simultaneously alter the range of error values over which the MV is between these limits. The width of this range, in units of the error variable and therefore of the PV, is called the "proportional band" (PB).
Furnace example.
When controlling the temperature of an industrial furnace, it is usually better to control the opening of the fuel valve "in proportion to" the current needs of the furnace. This helps avoid thermal shocks and applies heat more effectively.
At low gains, only a small corrective action is applied when errors are detected. The system may be safe and stable but may be sluggish in response to changing conditions. Errors will remain uncorrected for relatively long periods of time and the system is overdamped. If the proportional gain is increased, such systems become more responsive and errors are dealt with more quickly. There is an optimal value for the gain setting when the overall system is said to be critically damped. Increases in loop gain beyond this point lead to oscillations in the PV and such a system is underdamped. Adjusting gain to achieve critically damped behavior is known as "tuning" the control system.
In the underdamped case, the furnace heats quickly. Once the setpoint is reached, stored heat within the heater sub-system and in the walls of the furnace will keep the measured temperature rising beyond what is required. After rising above the setpoint, the temperature falls back and eventually heat is applied again. Any delay in reheating the heater sub-system allows the furnace temperature to fall further below the setpoint and the cycle repeats. The temperature oscillations that an underdamped furnace control system produces are undesirable.
In a critically damped system, as the temperature approaches the setpoint, the heat input begins to be reduced, the rate of heating of the furnace has time to slow and the system avoids overshoot. Overshoot is also avoided in an overdamped system but an overdamped system is unnecessarily slow to initially reach a setpoint response to external changes to the system, e.g. opening the furnace door.
PID control.
Pure proportional controllers must operate with residual error in the system. Though PI controllers eliminate this error they can still be sluggish or produce oscillations. The PID controller addresses these final shortcomings by introducing a derivative (D) action to retain stability while responsiveness is improved.
Derivative action.
The derivative is concerned with the rate-of-change of the error with time: If the measured variable approaches the setpoint rapidly, then the actuator is backed off early to allow it to coast to the required level; conversely, if the measured value begins to move rapidly away from the setpoint, extra effort is applied—in proportion to that rapidity to help move it back.
On control systems involving motion control of a heavy item like a gun or camera on a moving vehicle, the derivative action of a well-tuned PID controller can allow it to reach and maintain a setpoint better than most skilled human operators. If a derivative action is over-applied, it can, however, lead to oscillations.
Integral action.
The integral term magnifies the effect of long-term steady-state errors, applying an ever-increasing effort until the error is removed. In the example of the furnace above working at various temperatures, if the heat being applied does not bring the furnace up to setpoint, for whatever reason, integral action increasingly "moves" the proportional band relative to the setpoint until the PV error is reduced to zero and the setpoint is achieved.
Ramp up % per minute.
Some controllers include the option to limit the "ramp up % per minute". This option can be very helpful in stabilizing small boilers (3 MBTUH), especially during the summer, during light loads. A utility boiler "unit may be required to change load at a rate of as much as 5% per minute (IEA Coal Online - 2, 2007)".
Other techniques.
It is possible to filter the PV or error signal. Doing so can help reduce instability or oscillations by reducing the response of the system to undesirable frequencies. Many systems have a resonant frequency. By filtering out that frequency, stronger overall feedback can be applied before oscillation occurs, making the system more responsive without shaking itself apart.
Feedback systems can be combined. In cascade control, one control loop applies control algorithms to a measured variable against a setpoint but then provides a varying setpoint to another control loop rather than affecting process variables directly. If a system has several different measured variables to be controlled, separate control systems will be present for each of them.
Control engineering in many applications produces control systems that are more complex than PID control. Examples of such field applications include fly-by-wire aircraft control systems, chemical plants, and oil refineries. Model predictive control systems are designed using specialized computer-aided-design software and empirical mathematical models of the system to be controlled.


Gradient network

In network science, a gradient network is a directed subnetwork of an undirected "substrate" network where each node has an associated scalar potential and one out-link that points to the node with the smallest (or largest) potential in its neighborhood, defined as the union of itself and its neighbors on the substrate network.
Definition.
Transport takes place on a fixed network formula_1 called the substrate graph. It has "N" nodes, formula_2 and the set
of edges formula_3. Given a node "i", we can define its set of neighbors in G by Si(1) = {j ∈ V | (i,j)∈ E}.
Let us also consider a scalar field, "h" = {"h"0, .., "h""N"−1} defined on the set of nodes V, so that every node i has a scalar value "h""i" associated to it.
Gradient ∇"h""i" on a network: ∇hiformula_4(i, μ(i))
i.e. the directed edge from "i" to "μ(i)", where "μ"("i") ∈ Si(1) ∪ {i}, and hμ has the maximum value in formula_5.
Gradient network : ∇formula_6 ∇formula_7 formula_8
where "F" is the set of gradient edges on "G".
In general, the scalar field depends on time, due to the flow, external sources and sinks on the network. Therefore, the gradient network ∇formula_7 will be dynamic.
Motivation and history.
The concept of a gradient network was first introduced by Toroczkai and Bassler (2004).
Generally, real-world networks (such as citation graphs, the Internet, cellular metabolic networks, the worldwide airport network), which often evolve to transport entities such as information, cars, power, water, forces, and so on, are not globally designed; instead, they evolve and grow through local changes. For example, if a router on the Internet is frequently congested and packets are lost or delayed due to that, it will be replaced by several interconnected new routers.
Moreover, this flow is often generated or influenced by local gradients of a scalar. For example: electric current is driven by a gradient of electric potential. In information networks, properties of nodes will generate a bias in the way of information is transmitted from a node to its neighbors. This idea motivated the approach to study the flow efficiency of a network by using gradient networks, when the flow is driven by gradients of a scalar field distributed on the network.
Recent research investigates the connection between network topology and the flow efficiency of the transportation.
In-degree distribution of gradient networks.
In a gradient network, the in-degree of a node i, "ki (in)" is the number of gradient edges pointing into i, and the in-degree distribution is formula_10 .
When the substrate G is a random graph and each pair of nodes is connected with probability "P" (i.e. an Erdős–Rényi random graph), the scalars" hi" are i.i.d. (independent identically distributed) the exact expression for R(l) is given by
In the limit formula_11 and formula_12, the degree distribution becomes the power law
This shows in this limit, the gradient network of random network is scale-free.
Furthermore, if the substrate network G is scale-free, like in the Barabási–Albert model, then the gradient network also follow the power-law with the same exponent as those of G.
The congestion on networks.
The fact that the topology of the substrate network influence the level of network congestion can be illustrated by a simple example: if the network has a star-like structure, then at the central node, the flow would become congested because the central node should handle all the flow from other nodes. However, if the network has a ring-like structure, since every node takes the same role, there is no flow congestion.
Under assumption that the flow is generated by gradients in the network, flow efficiency on networks can be characterized through the jamming factor (or congestion factor), defined as follows:
where "N"receive is the number of nodes that receive gradient flow and Nsend is the number of nodes that send gradient flow.
The value of "J" is between 0 and 1; formula_14 means no congestion, and formula_15 corresponds to maximal congestion.
In the limit formula_16, for an Erdős–Rényi random graph, the congestion factor becomes
This result shows that random networks are maximally congested in that limit.
On the contrary, for a scale-free network, "J" is a constant for any "N", which means that scale-free networks are not prone to maximal jamming.
Approaches to control congestion.
One problem in communication networks is understanding how to control congestion and maintain normal and efficient network function.
Zonghua Liu et al. (2006) showed that congestion is more likely to occur at the nodes with high degrees in networks, and an efficient approach of selectively enhancing the message-process capability of a small fraction (e.g. 3%) of nodes is shown to perform just as well as enhancing the capability of all nodes.
Ana L Pastore y Piontti et al. (2008) showed that relaxational dynamics can reduce network congestion.
Pan et al. (2011) studied jamming properties in a scheme where edges are given weights of a power of the scalar difference between node potentials.
Niu and Pan (2016) showed that congestion can be reduced by introducing a correlation between the gradient field and the local network topology.


IBM Machine Code Printer Control Characters

Early mainframe printers were usually line printers. Line printers provide a limited set of commands to control how the paper is advanced when print lines are printed. The application writing reports, list, etc. to be printed has to include those commands in the print data. These single character print commands are called "printer control characters".
Introduction into Print Control Characters.
"Printer control characters" and "Carriage control characters" are IBM mainframe terms that denote the special meaning which the first character on a line of printable text may have. The first character of each line of text is interpreted as a "control character" or "printer command" instead of a character to be printed if a corresponding attribute is set for the print data set ("data set" is mainframe speak for what is known as a "file" on other operating systems).
How "Printer Control Characters" work.
While mostly replaced by an electronic versions later on, line printers initially used a loop of punched paper tape to control the movement of the paper while printing. This tape is called a "carriage control tape" and is mounted on the printer. The looped carriage tape moves synchronously with the stream of fanfold paper.
The line printers have 12 sensors to recognize 12 independent positions on the carriage control tape. Each position is called a "channel", numbered from 1 to 12. If a hole is punched in a channel, then this hole marked a position on the page that the printer can 'jump to' quickly by advancing until the hole is sensed by the corresponding channel sensor. This is called "skip to channel number n".
Commands are implemented so that each of the 12 channels can be jumped to. Instead of having to write empty print lines, applications can simply jump to a predefined channel if nothing is to be written between the current position and the target position, a huge performance gain at that time.
In addition to those "skip to channel" commands, there are other commands that the printer interprets to either stay at the current line or to space one, two, or three lines. By staying on the current line, one can create:
Instructing the printer to skip to a channel which is not punched will cause the printer to continue to feed paper at high speed. This might be caused by a mismatch between the tape installed and the one the application expects.
Special Meaning of "Channel 1".
By convention the position on a sheet of paper where the first print line has to be written is associated with "Channel 1". For example, if the first line of text has to always be on physical line 3 for a given form, then the channel 1 hole has to be punched in line 3 of the carriage control tape.
By convention, IBM mainframe applications always jump to channel 1 when beginning a new logical page.
Types of Printer Control Characters.
Print data sets on IBM mainframe operating systems may have either of two variants of printer control characters:
The attribute for specifying the presence of print control characters is part of the "Record Format" (aka RECFM) attribute must therefore allow for two variants:
ASA Control Characters.
ASA control characters are logical printer commands. They tell the printer how far to advance the paper "before" printing the current line of text. ASA control characters are all displayable characters. Printers do not understand these characters themselves, therefore the printer driver must translate them to the corresponding printer commands when sending the print data to the printer.
IBM Machine Control Characters.
Machine control characters, in contrast, are the hardware commands which IBM line printers understand. This is why they are hardware dependent or hardware determined. IBM defined this set of commands for their line printers and made sure all their line printers understand them. Other (mainframe) line printer manufacturers also had to make sure their printers understood those commands. Since machine control characters are hardware commands, many of them are not displayable characters and therefore machine control characters are always specified as hexadecimal values.
Main difference between ASA and Machine Control Characters.
The main difference between the two sets of printer control characters might be the portability of ASA control characters versus the hardware dependency of machine control characters. The fact that the ASA controls were "space before write", while the machine controls were "space after write" could require some data streams to be converted.
Language support for printer control.
Many programming languages simply place the desired control character in the first byte of the line to be printed. COBOL and PL/I also have a system-independent method of specifying printer controls. The compiler or run-time will translate these options into the appropriate control character.
COBOL.
COBOL uses the syntax codice_1, where "record-name" is the name of the area containing the line and "n" is the number of lines. Additionally codice_2 can be used or codice_3 to skip to the top of a new page.
PL/I.
PL/I uses the syntax codice_4 to skip "n" lines before printing, or codice_5 to skip to a new page.
List of IBM Machine Print Control Characters.
IBM defined two sets of printer commands, and therefore two sets of printer control characters are available. The first set of commands did not send any data to be printed to the printer but only a paper movement instruction. These are called "immediate commands". The second set of commands send data to be printed on the current line plus a paper movement instruction to the printer. Note that in contrast to the ASA control characters, the IBM machine print control characters ask the printer to "firstly" print the data on the current line, and then "secondly" advance the paper.
Immediate commands.
These commands do not send any data to the printer. The commands only ask the printer to advance the paper.
Write and Space Commands.
Write and space commands ask the printer to write the data on the line and afterwards move the paper.


Matrix regularization

In the field of statistical learning theory, matrix regularization generalizes notions of vector regularization to cases where the object to be learned is a matrix. The purpose of regularization is to enforce conditions, for example sparsity or smoothness, that can produce stable predictive functions. For example, in the more common vector framework, Tikhonov regularization optimizes over
to find a vector formula_2 that is a stable solution to the regression problem. When the system is described by a matrix rather than a vector, this problem can be written as
where the vector norm enforcing a regularization penalty on formula_2 has been extended to a matrix norm on formula_5.
Matrix regularization has applications in matrix completion, multivariate regression, and multi-task learning. Ideas of feature and group selection can also be extended to matrices, and these can be generalized to the nonparametric case of multiple kernel learning.
Basic definition.
Consider a matrix formula_6 to be learned from a set of examples, formula_7, where formula_8 goes from formula_9 to formula_10, and formula_11 goes from formula_9 to formula_13. Let each input matrix formula_14 be formula_15, and let formula_6 be of size formula_17. A general model for the output formula_18 can be posed as
where the inner product is the Frobenius inner product. For different applications the matrices formula_14 will have different forms, but for each of these the optimization problem to infer formula_6 can be written as
where formula_23 defines the empirical error for a given formula_6, and formula_25 is a matrix regularization penalty. The function formula_25 is typically chosen to be convex and is often selected to enforce sparsity (using formula_27-norms) and/or smoothness (using formula_28-norms). Finally, formula_6 is in the space of matrices formula_30 with Frobenius inner product formula_31.
General applications.
Matrix completion.
In the problem of matrix completion, the matrix formula_32 takes the form
where formula_34 and formula_35 are the canonical basis in formula_36 and formula_37. In this case the role of the Frobenius inner product is to select individual elements formula_38 from the matrix formula_6. Thus, the output formula_18 is a sampling of entries from the matrix formula_6.
The problem of reconstructing formula_6 from a small set of sampled entries is possible only under certain restrictions on the matrix, and these restrictions can be enforced by a regularization function. For example, it might be assumed that formula_6 is low-rank, in which case the regularization penalty can take the form of a nuclear norm.
where formula_45, with formula_8 from formula_9 to formula_48, are the singular values of formula_6.
Multivariate regression.
Models used in multivariate regression are parameterized by a matrix of coefficients. In the Frobenius inner product above, each matrix formula_5 is
such that the output of the inner product is the dot product of one row of the input with one column of the coefficient matrix. The familiar form of such models is
Many of the vector norms used in single variable regression can be extended to the multivariate case. One example is the squared Frobenius norm, which can be viewed as an formula_28-norm acting either entrywise, or on the singular values of the matrix:
In the multivariate case the effect of regularizing with the Frobenius norm is the same as the vector case; very complex models will have larger norms, and, thus, will be penalized more.
Multi-task learning.
The setup for multi-task learning is almost the same as the setup for multivariate regression. The primary difference is that the input variables are also indexed by task (columns of formula_55). The representation with the Frobenius inner product is then
The role of matrix regularization in this setting can be the same as in multivariate regression, but matrix norms can also be used to couple learning problems across tasks. In particular, note that for the optimization problem
the solutions corresponding to each column of formula_55 are decoupled. That is, the same solution can be found by solving the joint problem, or by solving an isolated regression problem for each column. The problems can be coupled by adding an additional regularization penalty on the covariance of solutions
where formula_60 models the relationship between tasks. This scheme can be used to both enforce similarity of solutions across tasks, and to learn the specific structure of task similarity by alternating between optimizations of formula_6 and formula_60. When the relationship between tasks is known to lie on a graph, the Laplacian matrix of the graph can be used to couple the learning problems.
Spectral regularization.
Regularization by spectral filtering has been used to find stable solutions to problems such as those discussed above by addressing ill-posed matrix inversions (see for example Filter function for Tikhonov regularization). In many cases the regularization function acts on the input (or kernel) to ensure a bounded inverse by eliminating small singular values, but it can also be useful to have spectral norms that act on the matrix that is to be learned.
There are a number of matrix norms that act on the singular values of the matrix. Frequently used examples include the Schatten p-norms, with "p" = 1 or 2. For example, matrix regularization with a Schatten 1-norm, also called the nuclear norm, can be used to enforce sparsity in the spectrum of a matrix. This has been used in the context of matrix completion when the matrix in question is believed to have a restricted rank. In this case the optimization problem becomes:
Spectral Regularization is also used to enforce a reduced rank coefficient matrix in multivariate regression. In this setting, a reduced rank coefficient matrix can be found by keeping just the top formula_10 singular values, but this can be extended to keep any reduced set of singular values and vectors.
Structured sparsity.
Sparse optimization has become the focus of much research interest as a way to find solutions that depend on a small number of variables (see e.g. the Lasso method). In principle, entry-wise sparsity can be enforced by penalizing the entry-wise formula_66-norm of the matrix, but the formula_66-norm is not convex. In practice this can be implemented by convex relaxation to the formula_27-norm. While entry-wise regularization with an formula_27-norm will find solutions with a small number of nonzero elements, applying an formula_27-norm to different groups of variables can enforce structure in the sparsity of solutions.
The most straightforward example of structured sparsity uses the formula_71 norm with formula_72 and formula_73:
For example, the formula_75 norm is used in multi-task learning to group features across tasks, such that all the elements in a given row of the coefficient matrix can be forced to zero as a group. The grouping effect is achieved by taking the formula_28-norm of each row, and then taking the total penalty to be the sum of these row-wise norms. This regularization results in rows that will tend to be all zeros, or dense. The same type of regularization can be used to enforce sparsity column-wise by taking the formula_28-norms of each column.
More generally, the formula_75 norm can be applied to arbitrary groups of variables:
where the index formula_80 is across groups of variables, and formula_81 indicates the cardinality of group formula_80.
Algorithms for solving these group sparsity problems extend the more well-known Lasso and group Lasso methods by allowing overlapping groups, for example, and have been implemented via matching pursuit: and proximal gradient methods. By writing the proximal gradient with respect to a given coefficient, formula_83, it can be seen that this norm enforces a group-wise soft threshold
where formula_85 is the indicator function for group norms formula_86.
Thus, using formula_75 norms it is straightforward to enforce structure in the sparsity of a matrix either row-wise, column-wise, or in arbitrary blocks. By enforcing group norms on blocks in multivariate or multi-task regression, for example, it is possible to find groups of input and output variables, such that defined subsets of output variables (columns in the matrix formula_55) will depend on the same sparse set of input variables.
Multiple kernel selection.
The ideas of structured sparsity and feature selection can be extended to the nonparametric case of multiple kernel learning. This can be useful when there are multiple types of input data (color and texture, for example) with different appropriate kernels for each, or when the appropriate kernel is unknown. If there are two kernels, for example, with feature maps formula_89 and formula_90 that lie in corresponding reproducing kernel Hilbert spaces formula_91, then a larger space, formula_92, can be created as the sum of two spaces:
assuming linear independence in formula_89 and formula_90. In this case the formula_75-norm is again the sum of norms:
Thus, by choosing a matrix regularization function as this type of norm, it is possible to find a solution that is sparse in terms of which kernels are used, but dense in the coefficient of each used kernel. Multiple kernel learning can also be used as a form of nonlinear variable selection, or as a model aggregation technique (e.g. by taking the sum of squared norms and relaxing sparsity constraints). For example, each kernel can be taken to be the Gaussian kernel with a different width.


Hanning Elektro-Werke

Hanning Elektro-Werke GmbH und Co. KG, (limited partnership with a limited liability company as general partner) a German family-owned company, was founded in 1947 by Robert Hanning and is part of the international production network. It employs around 1,500 people worldwide.
Company history.
The company was established in 1947 by Robert Hanning under the name ’Elektrobau Hanning GmbH’ in Lipperreihe near Bielefeld (Germany). In 1977 the company name was changed to ’HANNING ELEKTRO-WERKE GmbH & Co. KG’. Due to HANNINGs' stable and economic growth, the factory as well as the storage in Oerlinghausen was expanded in 1980. After the German reunification the company then established itself in 1992 in Eggesin, as the largest employer of the city. The HANNING production network, to which HANNING ELEKTRO-WERKE belongs, comprises around 1,500 employees at four locations in Germany (Oerlinghausen and Eggesin), Romania and India. In addition, there are sales partners on all continents.
Products.
Products of the market division Industrial Applications.
Customized synchronous/asynchronous motor systems, electronically controlled drives, encapsulated synchronous/asynchronous drives, synchronous/asynchronous drives with housing, frameless drives, customized inverter systems, encapsulated frequency inverters, inverters with housing, frameless frequency inverters and more
Customized pump systems, electronically controlled pumps, encapsulated pumps, pumps with housed or frameless motors and more
Products of the market division Appliance Applications.
Customized pump systems, electronically controlled pumps, encapsulated pumps, pumps with housed or frameless motors, customized synchronous/asynchronous fan systems, electronically controlled fan drives, encapsulated synchronous/asynchronous fan drives, synchronous/asynchronous fan drives with housing, frameless fan drives and more
Products of the market division Linear Actuators.
Customized linear actuator systems, electronically controlled linear actuators, encapsulated linear actuators, linear actuators with housing, frameless linear actuators, lifting columns and more
Customized synchronous/asynchronous motor systems, electronically controlled drives, encapsulated synchronous/asynchronous drives, synchronous/asynchronous drives with housing, frameless drives and more


Diamond turning

Diamond turning is turning using a cutting tool with a diamond tip. It is a process of mechanical machining of precision elements using lathes or derivative machine tools (e.g., turn-mills, rotary transfers) equipped with natural or synthetic diamond-tipped tool bits. The term single-point diamond turning (SPDT) is sometimes applied, although as with other lathe work, the "single-point" label is sometimes only nominal (radiused tool noses and contoured form tools being options). The process of diamond turning is widely used to manufacture high-quality aspheric optical elements from crystals, metals, acrylic, and other materials. Plastic optics are frequently molded using diamond turned mold inserts. Optical elements produced by the means of diamond turning are used in optical assemblies in telescopes, video projectors, missile guidance systems, lasers, scientific research instruments, and numerous other systems and devices. Most SPDT today is done with computer numerical control (CNC) machine tools. Diamonds also serve in other machining processes, such as milling, grinding, and honing. Diamond turned surfaces have a high specular brightness and require no additional polishing or buffing, unlike other conventionally machined surfaces.
Process.
Diamond turning is a multi-stage process. Initial stages of machining are carried out using a series of CNC lathes of increasing accuracy. A diamond-tipped lathe tool is used in the final stages of the manufacturing process to achieve sub-nanometer level surface finishes and sub-micrometer form accuracies. The surface finish quality is measured as the peak-to-valley distance of the grooves left by the lathe. The form accuracy is measured as a mean deviation from the ideal target form. Quality of surface finish and form accuracy is monitored throughout the manufacturing process using such equipment as contact and laser profilometers, laser interferometers, optical and electron microscopes. Diamond turning is most often used for making infrared optics, because at longer wavelengths optical performance is less sensitive to surface finish quality, and because many of the materials used are difficult to polish with traditional methods.
Temperature control is crucial, because the surface must be accurate on distance scales shorter than the wavelength of light. Temperature changes of a few degrees during machining can alter the form of the surface enough to have an effect. The main spindle may be cooled with a liquid coolant to prevent temperature deviations.
The diamonds that are used in the process are strong in the downhill regime but tool wear is also highly dependent on crystal anisotropy and work material.
The machine tool.
For best possible quality natural diamonds are used as single-point cutting elements during the final stages of the machining process. A CNC SPDT lathe rests atop a high-quality granite base with micrometer surface finish quality. The granite base is placed on air suspension on a solid foundation, keeping its working surface strictly horizontal. The machine tool components are placed on top of the granite base and can be moved with high degree of accuracy using a high-pressure air cushion or hydraulic suspension. The machined element is attached to an air chuck using negative air pressure and is usually centered manually using a micrometer. The chuck itself is separated from the electric motor that spins it by another air suspension.
The cutting tool is moved with sub-micron precision by a combination of electric motors and piezoelectric actuators. As with other CNC machines, the motion of the tool is controlled by a list of coordinates generated by a computer. Typically, the part to be created is first described using a computer aided design (CAD) model, then converted to G-code using a computer aided manufacturing (CAM) program, and the G-code is then executed by the machine control computer to move the cutting tool. The final surface is achieved with a series of cutting passes to maintain a ductile cutting regime.
Alternative methods of diamond machining in practice also include diamond fly cutting and diamond milling. Diamond fly cutting can be used to generate diffraction gratings and other linear patterns with appropriately contoured diamond shapes. Diamond milling can be used to generate aspheric lens arrays by annulus cutting methods with a spherical diamond tool.
Materials.
Diamond turning is specifically useful when cutting materials that are viable as infrared optical components and certain non-linear optical components such as potassium dihydrogen phosphate (KDP). KDP is a perfect material in application for diamond turning, because the material is very desirable for its optical modulating properties, yet it is impossible to make optics from this material using conventional methods. KDP is water-soluble, so conventional grinding and polishing techniques are not effective in producing optics. Diamond turning works well to produce optics from KDP.
Generally, diamond turning is restricted to certain materials. Materials that are readily machinable include:
The most often requested materials that are not readily machinable are:
Ferrous materials are not readily machinable because the carbon in the diamond tool chemically reacts with the substrate, leading to tool damage and dulling after short cut lengths. Several techniques have been investigated to prevent this reaction, but few have been successful for long diamond machining processes at mass production scales.
Tool life improvement has been under consideration in diamond turning as the tool is expensive. Hybrid processes such as laser-assisted machining have emerged in this industry recently. The laser softens hard and difficult-to-machine materials such as ceramics and semiconductors, making them easier to cut.
Quality control.
Despite all the automation involved in the diamond turning process, the human operator still plays the main role in achieving the final result. Quality control is a major part of the diamond turning process and is required after each stage of machining, sometimes after each pass of the cutting tool. If it is not detected immediately, even a minute error during any of the cutting stages results in a defective part. The extremely high requirements for quality of diamond-turned optics leave virtually no room for error.
The SPDT manufacturing process produces a relatively high percentage of defective parts, which must be discarded. As a result, the manufacturing costs are high compared to conventional polishing methods. Even with the relatively high volume of optical components manufactured using the SPDT process, this process cannot be classified as mass production, especially when compared with production of polished optics. Each diamond-turned optical element is manufactured on an individual basis with extensive manual labor.


Electrochemical machining

Electrochemical machining (ECM) is a method of removing metal by an electrochemical process. It is normally used for mass production and is used for working extremely hard materials or materials that are difficult to machine using conventional methods. Its use is limited to electrically conductive materials. ECM can cut small or odd-shaped angles, intricate contours or cavities in hard and exotic metals, such as titanium aluminides, Inconel, Waspaloy, and high nickel, cobalt, and rhenium alloys. Both external and internal geometries can be machined.
ECM is often characterized as "reverse electroplating", in that it removes material instead of adding it. It is similar in concept to electrical discharge machining (EDM) in that a high current is passed between an electrode and the part, through an electrolytic material removal process having a negatively charged electrode (cathode), a conductive fluid (electrolyte), and a conductive workpiece (anode); however, in ECM there is no tool wear. The ECM cutting tool is guided along the desired path close to the work but without touching the piece. Unlike EDM, however, no sparks are created. High metal removal rates are possible with ECM, with no thermal or mechanical stresses being transferred to the part, and mirror surface finishes can be achieved.
In the ECM process, a cathode (tool) is advanced into an anode (workpiece). The pressurized electrolyte is injected at a set temperature to the area being cut. The feed rate is the same as the rate of "liquefication" of the material. The gap between the tool and the workpiece varies within 80–800 micrometers (0.003–0.030 in.) As electrons cross the gap, material from the workpiece is dissolved, as the tool forms the desired shape in the workpiece. The electrolytic fluid carries away the metal hydroxide formed in the process.
Electrochemical machining, as a technological method, originated from the process of electrolytic polishing offered already in 1911 by a Russian chemist E.Shpitalsky.
As far back as 1929, an experimental ECM process was developed by W.Gussef, although it was 1959 before a commercial process was established by the Anocut Engineering Company. B.R. and J.I. Lazarenko are also credited with proposing the use of electrolysis for metal removal.
Much research was done in the 1960s and 1970s, particularly in the gas turbine industry. The rise of EDM in the same period slowed ECM research in the west, although work continued behind the Iron Curtain. The original problems of poor dimensional accuracy and environmentally polluting waste have largely been overcome, although the process remains a niche technique.
The ECM process is most widely used to produce complicated shapes such as turbine blades with good surface finish in difficult to machine materials. It is also widely and effectively used as a deburring process.
In deburring, ECM removes metal projections left from the machining process, and so dulls sharp edges. This process is fast and often more convenient than the conventional methods of deburring by hand or nontraditional machining processes.
Currents involved.
The needed current is proportional to the desired rate of material removal, and the removal rate in mm/minute is proportional to the amps per square mm.
Typical currents range from 0.1 amp per square mm to 5 amps per square mm. Thus, for a small plunge cut of a 1 by 1 mm tool with a slow cut, only 0.1 amps would be needed.
However, for a higher feed rate over a larger area, more current would be used, just like any machining process—removing more material faster takes more power.
Thus, if a current density of 4 amps per square millimeter was desired over a 100×100 mm area, it would take 40,000 amps (and much coolant/electrolyte).
Setup and equipment.
ECM machines come in both vertical and horizontal types. Depending on the work requirements, these machines are built in many different sizes as well. The vertical machine consists of a base, column, table, and spindle head. The spindle head has a servo-mechanism that automatically advances the tool and controls the gap between the cathode (tool) and the workpiece.
CNC machines of up to six axes are available.
Copper is often used as the electrode material. Brass, graphite, and copper-tungsten are also often used because they are easily machined, they are conductive materials, and they will not corrode.
Applications.
Some of the very basic applications of ECM include:


CNC plunge milling

CNC plunge milling, also called z-axis milling, is a CNC milling process. In this process, the feed is provided linearly along the tool axis while doing CNC processing.
Plunge milling is effective for the rough machining process of complex shape or free form shapes like impeller parts. In multi axis plunge milling, the optimization of plunge cutter section selection and generating the tool path for free form surface is very important to improve the efficiency and effectiveness.
In plunge milling, after each plunge the milling cutter is offset by some value and then the material surface is removed in the form of lunula. The material removal rate is computed by area of lunula and the feed rate. At the entry and exit of milling cutter, the radial offset has not any influence on the condition of surface.
At the maximum cutting velocity, the surface obtained is clean whatever the feed rate per tooth on entry but on exit the high value of feed rate gives the deteriorated surface. The surface roughness value always increases with feed rate in plunge milling. The simulation of dynamic uncut chip thickness which is generated by plunge milling can be done by tracking the position of plunge cutter center. This simulation shows the regenerative effect with variation of phase difference.
Then the model of uncut chip thickness and cutting force coefficient with cutting edge radius are entered into time domain model. Finally, with the help of time domain solution the stability of machine and vibrations are estimated.
The cutting parameters play a key role in plunge milling. The cutting force and machine stability both are influenced by machining parameters. Frequency domain model can be used to estimate the machining stability.
Advantages of CNC plunge milling.
The plunge milling has following advantage over conventional milling-


Freeform surface machining

Freeform surface or complex surfaces are widely manufactured nowadays. The industries which most often manufactures free-form surfaces are basically aerospace, automotive, die mold industries, bio medical and power sector for turbine blades manufacturing. Generally 3 or 5 axis CNC milling machine is used for this purpose. The manufacturing process of free form surface is not an easy job as the tool path generation in present CAM technology is generally based on geometric computation so tool path are not optimum. The geometry can also be not described explicitly so errors and discontinuities occurrence in the solid structure cannot be avoided. Free-form surfaces are machined with the help of different tool path generation method like adaptive iso-planar tool path generation, constant scallop tool path generation, adaptive iso-parametric method, iso-curvature, isophote and by other methods. The different methods are chosen based on the parameters which is needed to be optimized.
Optimization of free-form surface machining.
CAM software generally creates a tool path without considering any mechanics process. These causes risk of tool damage, tool deflection and errors on surface finish. By minimizing the forces we can increase tool life. Different optimization method can be used considering process parameters like feed rate, spindle speed, steps, tool diameter, magnitude and preset maximum force. The optimization can be done for minimum machining time, minimum tool travel, minimum production cost or for good surface finish. Efficiency of surface machined is also considered by maximum scallop height and by gouging. Gouging are the main reason for discrepancies of surface accuracy and texture specification. It also causes damage to part,s surface and machine tool. Scallop height tolerance help us in measuring the quality of free-form surface. Selection of proper topology result in minimum path length. In CAM software choosing NURBS to create surface is considered to be good method for presenting surface as it is accepted by both IGES and STEP files of CAM software.


CNC riveting

CNC riveting is a CNC process used for obtaining permanent mechanical fastening of geometrical shapes, ranging from simple to complex shapes, such as aircraft fuselages. This is done in a shorter duration of time with a high riveting rate. The process is fast, robust, and is flexible in nature; thus improving its usage and providing reliability to the riveted joint along with the final product quality. CNC riveting can be used for a variety of operations ranging from riveting and fastening belts, skin panels, shear ties, and other internal fuselage components.
The CNC Riveting machines generally consist of a solid frame made of welded steel and aluminum frames used for protection fitted with polycarbonate panes. The dynamic drive of the coordinates axes is achieved by a recirculating ball and screw, servo motors and motion control units that make the high-speed movement possible. For the mounting of the riveting units, solid C Frames are used. The riveting program can be given various parameters and these can be changed or altered as desired to be CNC programs as per the requirement.
CNC riveting machine variants.
CNC duct riveting cell.
A CNC controlled automatic riveting work cell with a knee type design drill machine that has sixty-inch throat depth with four positions on the upper head. This machine can apply sixteen pounds of upset force. This machine is equipped with dual drill spindles, one for carrying out drilling and other for deburring. It was developed for the fabrication of tubular assemblies, which are fed into the throat of the machine over an eight-inch square lower knee. The CNC controlled four axis positioning system presents the part to the machine that carries out the riveting.
CNC riveting machines with stationary machine table.
These CNC machines act as stand-alone workstations for heavy and bigger workpieces. They are simple in design and require work holding fixtures only, so the clamping and component query devices are much more affordable.
CNC riveting machines with Indexing Tables.
These special purpose CNC riveting machines have different sizes of indexing tables that be composed of different coordinate axes and riveting machines. These machines have different versions for the particular application and are configured accordingly. The coordinate system has linear units and recirculating ball screws, and an index table that is electrically operated with a brake motor. It has two to four fixed indexing stations, and the index table are NC flexible rotary indexing tables which are actuated by two hand controls or by a pedal switch. The machine has an automatic tool changer.
CNC riveting machines with transfer system.
These CNC riveting machines are made for use in manufacturing lines. The fixtures are coded and interfaces are customized to make the connection of several CNC riveting machines and linking them with other manufacturing systems, making it possible to obtain a high degree of automation.
Multiple axes CNC riveting cell.
This is the latest technological development in automated fastening. This technology is versatile and can be used for riveting of high curvature fuselage panels to low curvature wing panels, bulkheads, floor etc. The tooling changeover is minimized thus part throughput is maximized.
Advantages.
The main advantages of this type of CNC riveting machine are that it can use a variable minimum distance between rivets, and rivets of different length or heights can be used. High flexibility and change over time due to programmable memory. It can process many workpieces and different rivets can be used in one operation. Picking and placing operations are done in parallel with the primary operation time, saving money. Menu based navigation makes the programming fluid. High acceleration rate with high positioning accuracy.


Automatic tool changer

In machining, an automatic tool changer (ATC) is used in computerized numerical control (CNC) machine tools to improve the production and tool carrying capacity of the machine. ATCs change tools rapidly, reducing non-productive time. They are generally used to improve the capacity of the machines to work with a number of tools. They are also used to change worn out or broken tools. They are one more step towards complete automation.
Description.
Simple CNC machines work with a single tool. Turrets can work with a large number of tools. But if even more tools are required, then an ATC is needed. The tools are stored in a magazine. This allows the machine to work with a large number of tools without operator intervention.
The main parts of an automatic tool changer are the base, the gripper arm, the tool holder, the support arm, and the tool magazines.
Although the ATC increases the reliability, speed, and accuracy of a machine, it creates more challenges compared to manual tool change. For example, the tooling used must be easy to center, be easy for the changer to grab, and there should be a simple way to provide the tool's self-disengagement. Tools used in ATC are secured in tool holders specially designed for this purpose.
Types of tool changers.
Depending on the shape of the magazine, an ATC can be of two types: 1) Drum Type changers are used when the number of tools is lower than 30. The tools are stored on the periphery of the drum.
2) Chain type changers are used when the number of tools is higher than 30 (The number is different depending on the design and manufacturer. It is important to note that the number of tools for the drum type is fewer than the chain type). But the tool search speed will be lower in this case.
Automatic tool changer mechanism.
After receiving the tool change command, the tool to be changed will assume a fixed position known as the "tool change position". The ATC arm comes to this position and picks up the tool. The arm swivels between the machine turret and the magazine. It will have one gripper on each of the two sides. Each gripper can rotate 90°, to deliver tools to the front face of the turret. One will pick up the old tool from the turret and the other will pick up the new tool from the magazine. It then rotates 180° and places the tools into their needed position.
Tool changers on sheet metal working machinery.
ATCs were first used on chip-removal machines, such as mills and lathes. Systems for automatic rearrangement of tools have also been used on sheet metal working machinery. Panel benders have an integrated CNC-controlled device that allows punches to be moved according to the size of the part. Automated tool changes on press brakes were limited to machines integrated on a robotic bending cell. Typically a 6-axis robot used for handling sheet metal blanks is also in charge of changing punches and dies between different batches.
Since the 2020s automatic tool changers have appeared on non-robotic press brakes. The most common configuration is a tool rack on the side of the press brakes, with a shuttle picking up tools and positioning them where needed. This reduces physical strain on the operator and increases overall productivity.
Functions of a tool changer.
The use of automatic changers increases the productive time and reduces unproductive time. It provides the storage of the tools which are returned automatically to the machine tool after carrying out the required operations, increases the flexibility of the machine tool, makes it easier to change heavy and large tools, and permits the automatic renewal of cutting edges.