Prof. Tatyana Romanova

Title: The phi-function technique and its applications in additive manufacturing


Professor Tatiana Romanova received his M.Sc. degree in Applied Mathematics from Kharkiv National University of Radio Electronics (NURE), Ukraine; Ph.D. and Dr.Sci. (Habilitation) in Mathematical Modeling and Computational Methods from the Institute of Cybernetics of the National Academy of Sciences of Ukraine, Kiev. She is a principal researcher of the Department of Mathematical Modeling and Optimal Design at the Institute for Mechanical Engineering Problems of the National Academy of Sciences of Ukraine and professor at the chair of Applied Mathematics at the Kharkiv National University of Radioelectronics. She is an author of numerous research papers focused on the development of geometric tools, mathematical models and optimization algorithms for solving packing, cutting, covering and layout problems. Her research was supported by grants from Deutsche Forschungsgemeinschaft (GIO), STCU. She was invited to give lectures on the phi-function technique at universities of Dresden (Germany), Cardiff (Wales), Porto, (Portugal), Southampton (UK), Monterrey, Mexico (Mexico). She is a member of ESICUP, EWG EURO, OPTISAD.


The phi-function technique is a powerful tool of an analytical description of the placement constraints in optimization layout problems. It deals with 2D- and 3D-objects which can be continuously rotated and translated. This technique allows reducing layout problems to nonlinear programming models. The definition of a continuous and everywhere defined phi-function, as well as, its basic features will be introduced. The concept of quasi phi-functions generalizes the concept of phi-functions to include auxiliary variables. This conceptional modification allows for the efficient modeling of relations between objects, which were not readily available with phi-functions. Phi-functions and quasi phi- functions for some of 2D- and 3D-objects will be provided.   

Common to additive manufacturing technologies is the use of a computer, 3D modeling software (Computer Aided Design or CAD), 3D printer and layering material. In additive manufacturing technologies designing smart 3D models for printing parts plays a key role in the overall manufacturing process. Three classes of optimization problems related to additive manufacturing are considered.

The first problem is referred to as a Generating Void Structures.  Additive manufacturing offers enormous geometrical freedom to create parts. Creating hollowing systems is a typical practice for reducing printing material and time in 3D printing of light-weighted parts. Generating void (hollowing, porous) structures can also be interpreted as a layout problem with holes stand for allocation of items. Number of holes, their shapes and sizes, positions and space orientations have to be defined minimizing, e.g., the weight of the part without significant loss of its mechanical strength.

The second problem concerns preparing material used for printing. Laser 3D printers can work with various materials, including metal powders. There are two main approaches for manufacturing parts using 3D printing: a) fixation (alloying, sintering) of powder in the previously applied layer and b) direct layer-by-layer application of the already melted powder onto the substrate. In both cases pores may arise that are difficult to eliminate. The quality of the powder is related to its packing density depending on the powder particles composition, their sizes and shapes. This way a layout problem corresponding to the Densest Layer Filling arises.

The third problem is referred to as a Build Volume Packing. As a parallel manufacturing process, 3D printing enables manufacturing different parts (3D objects) in a single build volume. Thus, a problem of optimal layout of different parts in the build volume arises. A set of 3D items (parts) must be placed into the build volume optimizing a certain objective. The items have to be distant enough from each other to prevent from deformation while cooling after layer-by-layer process.

All the problems mentioned above belong to a broad class of 3D optimization layout problems. In its most general form a set of volumetric objects has to be allocated inside a 3D domain and optimizing a certain objective subject to additional specific constraints (e.g., continuous object rotations and translations, allowable distances between objects, allowable metrical characteristics of objects, prohibited zones).

The methodology to address each of the problems stated above consists of four main phases: (1) Modeling and development of theoretical properties, (2) Designing and studying solution techniques, (3) Computational implementation, (4) Designing prototypes.

Modeling. The central point in modeling layout (packing) problems is an analytical description of placement conditions (non-overlapping/containment/distance constraints) of 3D objects inside the given domain regarding 3D printing standards. We will use, the phi-function technique, that allows us to formulate the optimization layout problem of irregular shaped objects in the form of nonconvex nonlinear programming problem.

Solution algorithms. Based on the results obtained in phase one, this stage is dedicated to appropriate solution techniques. There are several ways to address a nonlinear optimization problem: (i) exact methods, (ii) heuristics, (iii) decomposition, which today are state of the art for solving hard optimization problems. The fact that packing problems are classified as NP-hard combined with large dimensions of instances, makes developing solution methods a challenge. Developing metaheuristics, which do not guarantee the optimal solution, but provide good quality local-optimal solutions in a reasonable computational time, is of paramount important. Decomposition reduces large scale problems to iterative solution of smaller nonlinear programming subproblems.

Computational implementation. Once a solution technique has been designed and developed, the computational implementation phase is entered. This is where an appropriate data structure must be designed and the methods have to be codified in some programming language. Available solvers can be used as a part of the implementation, e.g. IPOPT for local optimization.