This document provides formulations and linearizations for various integer programming constructs that can be used in MIP models in Xpress Optimization Suite, including binary variables, logical conditions, minimum/maximum values, absolute values, logical AND/OR/NOT, products, disjunctions, and more. It also discusses how these constructs can be modeled using entities like semi-continuous variables, special ordered sets, and indicator constraints in Mosel, BCL, and other Xpress interfaces.
This thesis proposes a new interpolation-based method for linearly constrained convex optimization problems. The method generalizes Shepard's interpolation formula to handle linear constraints by projecting points to the constraint boundaries. The interpolation surface passes through objective function values at the boundary of the feasible region. Several descent methods like steepest descent, quasi-Newton, and Newton's method are explored to optimize the interpolation surface. The method is implemented in MATLAB and tested on problems up to 1000 dimensions, showing competitive performance with standard methods like log-barrier and active-set. Steepest descent appears most effective, with quasi-Newton and Newton's method not improving the number of iterations.
All Minimal and Maximal Open Single Machine Scheduling Problems Are Polynomia...SSA KPI
This thesis presents Boolean linear programming models for three single machine scheduling problems with equal job lengths and release dates. It is proven that the problems are polynomially solvable by showing that the models have the property of total dual integrality. In Chapter 4, a model for minimizing total weighted completion time with preemption and unit job processing times is presented. The model is based on an assignment problem formulation. It is shown that the model has total unimodularity and total dual integrality, implying polynomial time solvability. These results are generalized to arbitrary equal job processing times in Chapter 5. In Chapter 6, models are presented for the preemptive and non-preemptive versions of minimizing total weighted tardiness
This document is a master's thesis that examines localization techniques in wireless sensor networks. It provides background on wireless sensor networks and how they emerged from military applications but are now used in various civil applications. The thesis focuses on developing and analyzing new localization algorithms. It presents the results of experiments measuring received signal strength indication (RSSI) from wireless sensor nodes, which indicate significant fluctuations that could limit the reliability of localization schemes. Overall, the thesis evaluates localization methods and develops new algorithms to improve positioning accuracy in wireless sensor networks.
Vertical Recommendation Using Collaborative Filteringgorass
This document discusses using collaborative filtering to generate recommendations for large-scale vertical recommendation. It describes collaborative filtering techniques like matrix factorization that can be used to learn relationships between users and merchants from transaction data. It then discusses how the collaborative filtering model can be adapted to generate recommendations for the next best vertical by grouping related merchants and calculating vertical scores. The recommendation workflow is broken down into steps like matrix generation, model training, and vertical grouping that can be implemented using technologies like Hadoop, Pig, and Mahout.
Scalable Collaborative Filtering for Commerce RecommendationYiqun Hu
The slides for DataScience.SG Meetup (23, Sep, 2014). An introduction of a scalable collaborative filtering method using Hadoop mapreduce we build for commerce recommendation application.
Evaluation of tdoa techniques for positionChau Tran
This thesis analyzes the performance of Time Difference of Arrival (TDOA) techniques for position location in Code Division Multiple Access (CDMA) systems. It compares different algorithms for estimating TDOAs and solving the resulting hyperbolic equations. It also evaluates TDOA accuracy under various conditions like noise, interference, fading and base station configuration. The thesis proposes an improved method for TDOA estimation in CDMA that provides greatly enhanced performance even in poor conditions.
This document describes a hybrid method using finite difference time domain (FDTD) and finite element method (FEM) to model electromagnetic wave scattering from a flat surface containing a narrow groove. The authors divided the geometry into an outer region modeled with FDTD and an inner region within the groove modeled with FEM. They implemented this hybrid method in MATLAB but encountered problems with boundary conditions and updating fields between regions that they solved using Mur's absorbing boundary conditions and separating field variables between regions. The final code produced expected results for this 2D cavity problem model.
The document contains lecture notes on algorithm design techniques, including greedy algorithms, divide and conquer, dynamic programming, approximation algorithms, and local search. It provides examples of problems that can be solved using each technique and outlines algorithms for interval scheduling, scheduling to minimize lateness, finding closest pair of points, weighted interval scheduling, and more. It also introduces matroids as a theoretical foundation for greedy algorithms and proves properties like maximum independent sets having the same size.
This thesis proposes a new interpolation-based method for linearly constrained convex optimization problems. The method generalizes Shepard's interpolation formula to handle linear constraints by projecting points to the constraint boundaries. The interpolation surface passes through objective function values at the boundary of the feasible region. Several descent methods like steepest descent, quasi-Newton, and Newton's method are explored to optimize the interpolation surface. The method is implemented in MATLAB and tested on problems up to 1000 dimensions, showing competitive performance with standard methods like log-barrier and active-set. Steepest descent appears most effective, with quasi-Newton and Newton's method not improving the number of iterations.
All Minimal and Maximal Open Single Machine Scheduling Problems Are Polynomia...SSA KPI
This thesis presents Boolean linear programming models for three single machine scheduling problems with equal job lengths and release dates. It is proven that the problems are polynomially solvable by showing that the models have the property of total dual integrality. In Chapter 4, a model for minimizing total weighted completion time with preemption and unit job processing times is presented. The model is based on an assignment problem formulation. It is shown that the model has total unimodularity and total dual integrality, implying polynomial time solvability. These results are generalized to arbitrary equal job processing times in Chapter 5. In Chapter 6, models are presented for the preemptive and non-preemptive versions of minimizing total weighted tardiness
This document is a master's thesis that examines localization techniques in wireless sensor networks. It provides background on wireless sensor networks and how they emerged from military applications but are now used in various civil applications. The thesis focuses on developing and analyzing new localization algorithms. It presents the results of experiments measuring received signal strength indication (RSSI) from wireless sensor nodes, which indicate significant fluctuations that could limit the reliability of localization schemes. Overall, the thesis evaluates localization methods and develops new algorithms to improve positioning accuracy in wireless sensor networks.
Vertical Recommendation Using Collaborative Filteringgorass
This document discusses using collaborative filtering to generate recommendations for large-scale vertical recommendation. It describes collaborative filtering techniques like matrix factorization that can be used to learn relationships between users and merchants from transaction data. It then discusses how the collaborative filtering model can be adapted to generate recommendations for the next best vertical by grouping related merchants and calculating vertical scores. The recommendation workflow is broken down into steps like matrix generation, model training, and vertical grouping that can be implemented using technologies like Hadoop, Pig, and Mahout.
Scalable Collaborative Filtering for Commerce RecommendationYiqun Hu
The slides for DataScience.SG Meetup (23, Sep, 2014). An introduction of a scalable collaborative filtering method using Hadoop mapreduce we build for commerce recommendation application.
Evaluation of tdoa techniques for positionChau Tran
This thesis analyzes the performance of Time Difference of Arrival (TDOA) techniques for position location in Code Division Multiple Access (CDMA) systems. It compares different algorithms for estimating TDOAs and solving the resulting hyperbolic equations. It also evaluates TDOA accuracy under various conditions like noise, interference, fading and base station configuration. The thesis proposes an improved method for TDOA estimation in CDMA that provides greatly enhanced performance even in poor conditions.
This document describes a hybrid method using finite difference time domain (FDTD) and finite element method (FEM) to model electromagnetic wave scattering from a flat surface containing a narrow groove. The authors divided the geometry into an outer region modeled with FDTD and an inner region within the groove modeled with FEM. They implemented this hybrid method in MATLAB but encountered problems with boundary conditions and updating fields between regions that they solved using Mur's absorbing boundary conditions and separating field variables between regions. The final code produced expected results for this 2D cavity problem model.
The document contains lecture notes on algorithm design techniques, including greedy algorithms, divide and conquer, dynamic programming, approximation algorithms, and local search. It provides examples of problems that can be solved using each technique and outlines algorithms for interval scheduling, scheduling to minimize lateness, finding closest pair of points, weighted interval scheduling, and more. It also introduces matroids as a theoretical foundation for greedy algorithms and proves properties like maximum independent sets having the same size.
Profil seorang wanita bernama Fitry AyuNing Tiyas yang lahir di Sidoarjo pada 07 Januari 2000. Hobinya meliputi kegiatan seni seperti menggambar, melukis, desain, dan mengarang puisi. Cita-citanya menjadi desainer manufaktur dan interior kapal. Motto hidupnya adalah "Sure You Can Do !!"
This document provides information about an English language textbook for 7th grade students in Indonesian junior high schools. It was developed by the Directorate for Junior High School Development to improve the quality of education. The textbook was created based on national education standards and was validated through trials with students and experts. It covers a variety of topics across 8 units using texts such as conversations, announcements, notes, and descriptions. The goal is for students to develop communicative competence in English.
The document discusses the benefits of exercise for mental health. Regular physical activity can help reduce anxiety and depression and improve mood and cognitive function. Exercise causes chemical changes in the brain that may help protect against mental illness and improve symptoms.
6. A Novel Inspection for Deformation Phenomenon of Reduced-graphene Oxide vi...Wei-Sheng (Wilson) Hsu
This document summarizes a study that used quantitative nano-mechanical atomic force microscopy (AFM) to analyze the mechanical properties of reduced graphene oxide (r-GO). The AFM technique, called PeakForce quantitative nano-mechanical (PF-QNM), measured deformation, elastic modulus, and adhesion properties of r-GO at high resolution. Analysis of the force curves from PF-QNM allowed the researchers to distinguish between folded and stacked regions of r-GO, which was not possible with traditional topographic AFM imaging alone. Mapping of deformation, elastic modulus, and adhesion further confirmed that one region was softer and more deformable, indicating it was folded r-GO, while the other region was stiffer and
El documento lista cuatro nuevas palabras que se han añadido al diccionario de la Real Academia Española: marihuana, amigovio, birra y dron. Estas palabras reflejan términos emergentes en áreas como la tecnología, las relaciones sociales y el lenguaje informal.
Привычка - это сложившийся способ поведения. В народе говорят: «Посеешь поступок - пожнешь привычку, посеешь привычку - пожнешь характер, посеешь характер - пожнешь судьбу». Когда человек совершает одни и те же действия многократно, он вырабатывает привычку.
This resource provides information and discussion prompts for using the picture book "The Seven Chinese Sisters" to talk about different family types in 3rd and 4th class. The story shows how seven sisters with different talents work together to care for their younger sister. It can help students understand that families come in different forms, all members contribute in different ways, and the most important thing is that children are cared for. Suggested follow-up activities include having students draw and write about talents in their own families. The resource also notes the importance of addressing potentially tricky questions or terms in a factual way to promote respect and tolerance.
The document provides information about dabbawalas, who deliver home-cooked lunches to workers in Mumbai. It discusses the history of the dabbawala system starting in 1890. Currently, over 5000 dabbawalas deliver around 200,000 lunch boxes daily within a 60km radius, with an on-time delivery rate of over 95%. The system relies on color-coded signals and sorting at train stations to efficiently deliver the high volume of meals each day in a low-cost manner. Customer satisfaction is the main aim of the dabbawalas through their reliable and affordable service.
Este documento presenta una introducción sobre los procesos electorales y las campañas políticas. Explica que el análisis de contenido es una técnica para estudiar ideas y significados en la comunicación de masas. Luego, resume los marcos teórico y metodológico sobre conceptos como participación ciudadana, electoral y política. Finalmente, analiza las definiciones de democracia, Estado representativo y partidos políticos según diferentes autores.
This document discusses mobile ID and levels of assurance in authentication. It presents four levels of assurance from little to very high confidence based on the number and type of authentication factors used. Mobile ID uses public and private keys to securely authenticate users via their mobile phones. The document outlines several use cases for mobile ID in banking, e-government, e-health, e-commerce and more. It provides an example of Norway's Bank ID system and how mobile operators can implement mobile ID solutions. Open questions are raised around adopting international security standards, developing a mobile ID roadmap, and implementing digital passports.
Alcantarillado condominial estrategias de saneamientoJorge Garcia
Este documento presenta una estrategia de saneamiento para alcanzar los Objetivos de Desarrollo del Milenio en el contexto de los municipios saludables. Propone el uso del alcantarillado condominial como una alternativa técnica, económica y socialmente viable para proveer servicios básicos de saneamiento a las poblaciones periurbanas de América Latina. Incluye estudios de caso del sistema condominial implementado en Bolivia, Brasil y Perú, mostrando sus ventajas comparativas sobre los sistemas convencionales. Finalmente,
This document discusses cost control and ways for companies to reduce costs. It defines cost control as methods used to monitor and improve business cost efficiency. Companies often cut costs in response to economic pressures. The document provides examples of cost control techniques like renegotiating contracts annually, discussing costs with customers, and matching payment terms to inventory turnover rates. It also lists areas where operational cost control can be applied, such as managing power/energy usage, fuel consumption, repairs and maintenance, projects, contracts and vendors.
Improvement - Preliminary Task vs Main Taskkhalfyard
The document summarizes the improvements the author has made in their Photoshop and InDesign skills from their preliminary task to their main music magazine task. Specifically:
- The author's manipulation of text and use of Photoshop tools has become more advanced in their main task compared to the preliminary task.
- The author learned that dark colors and too much text don't work as well on covers. Their main task cover incorporated brighter colors and less text.
- The contents page in the main task used a more effective structure and brighter colors compared to the preliminary task.
- A double page spread was created in InDesign for the main task, which the author had to learn from scratch.
published-pdf-1206-6-Ego Defensive Styles As Predictors of Emotional Intellig...Mahmood Amirinia
- The document examines how ego defensive styles predict emotional intelligence and how demographic characteristics affect styles and intelligence.
- Statistical analyses found that age and gender significantly impacted defensive styles, with men using mature and neurotic styles more than women.
- Age was also found to facilitate stress management. Employees with different educational backgrounds had significantly different scores on components of the Bar-On emotional intelligence model.
- Defensive styles were found to predict components of emotional intelligence, with mature styles positively associated and immature styles negatively associated. Neurotic styles were not significantly correlated with emotional intelligence.
This document provides an overview of an artist named Brea Sargent and her work. It summarizes her background in Virginia, inspiration from artists like Feng Zhu and Hayao Miyazaki, and creation of original characters. It also outlines her experience in cosplay and prop work for conventions, volunteer work at Full Sail University, and use of tools like Sketchbook Pro and ZBrush. Her goal is to work for studios like Dreamworks, ILM, Studio Ghibli, and WETA. Contact information is provided at the end.
Reading Materials for Operational Research Derbew Tesfa
This document provides an introduction to deterministic operations research models. It covers linear programming formulations including the simplex method for solving linear programs. Additional topics include sensitivity analysis, duality, network flows, integer programming, and dynamic programming. Mathematical modeling concepts are illustrated through examples involving product mix optimization, material blending to minimize costs, and network problems. Linear programming and other optimization techniques are presented as tools for decision making under deterministic conditions.
This document presents all existing and non-existing optimization features in Scilab (examples of nonlinear optimization, available algorithms to solve quadratic problems, non-linear least squares problems, semidefinite programming, genetic algorithms, simulated annealing and linear matrix inequalities...)
This document provides an overview and user guide for IBM SPSS Categories 20, which provides optimal scaling procedures for analyzing categorical data. It introduces key concepts of optimal scaling and discusses the appropriate uses of six procedures: categorical regression, categorical principal components analysis, nonlinear canonical correlation analysis, correspondence analysis, multiple correspondence analysis, and multidimensional scaling. The document also provides details on executing each procedure and interpreting their outputs.
This document provides an overview of the Maxima computer algebra system, including its history and development from Macsyma. It describes several interfaces for interacting with Maxima, such as the terminal interface, Emacs interface, and Xmaxima graphical interface. It also covers basic functions and operations in Maxima like trigonometric functions, differentiation, integration, and solving ordinary differential equations. The document consists of multiple parts that describe additional packages, installing Maxima, resources and troubleshooting.
Profil seorang wanita bernama Fitry AyuNing Tiyas yang lahir di Sidoarjo pada 07 Januari 2000. Hobinya meliputi kegiatan seni seperti menggambar, melukis, desain, dan mengarang puisi. Cita-citanya menjadi desainer manufaktur dan interior kapal. Motto hidupnya adalah "Sure You Can Do !!"
This document provides information about an English language textbook for 7th grade students in Indonesian junior high schools. It was developed by the Directorate for Junior High School Development to improve the quality of education. The textbook was created based on national education standards and was validated through trials with students and experts. It covers a variety of topics across 8 units using texts such as conversations, announcements, notes, and descriptions. The goal is for students to develop communicative competence in English.
The document discusses the benefits of exercise for mental health. Regular physical activity can help reduce anxiety and depression and improve mood and cognitive function. Exercise causes chemical changes in the brain that may help protect against mental illness and improve symptoms.
6. A Novel Inspection for Deformation Phenomenon of Reduced-graphene Oxide vi...Wei-Sheng (Wilson) Hsu
This document summarizes a study that used quantitative nano-mechanical atomic force microscopy (AFM) to analyze the mechanical properties of reduced graphene oxide (r-GO). The AFM technique, called PeakForce quantitative nano-mechanical (PF-QNM), measured deformation, elastic modulus, and adhesion properties of r-GO at high resolution. Analysis of the force curves from PF-QNM allowed the researchers to distinguish between folded and stacked regions of r-GO, which was not possible with traditional topographic AFM imaging alone. Mapping of deformation, elastic modulus, and adhesion further confirmed that one region was softer and more deformable, indicating it was folded r-GO, while the other region was stiffer and
El documento lista cuatro nuevas palabras que se han añadido al diccionario de la Real Academia Española: marihuana, amigovio, birra y dron. Estas palabras reflejan términos emergentes en áreas como la tecnología, las relaciones sociales y el lenguaje informal.
Привычка - это сложившийся способ поведения. В народе говорят: «Посеешь поступок - пожнешь привычку, посеешь привычку - пожнешь характер, посеешь характер - пожнешь судьбу». Когда человек совершает одни и те же действия многократно, он вырабатывает привычку.
This resource provides information and discussion prompts for using the picture book "The Seven Chinese Sisters" to talk about different family types in 3rd and 4th class. The story shows how seven sisters with different talents work together to care for their younger sister. It can help students understand that families come in different forms, all members contribute in different ways, and the most important thing is that children are cared for. Suggested follow-up activities include having students draw and write about talents in their own families. The resource also notes the importance of addressing potentially tricky questions or terms in a factual way to promote respect and tolerance.
The document provides information about dabbawalas, who deliver home-cooked lunches to workers in Mumbai. It discusses the history of the dabbawala system starting in 1890. Currently, over 5000 dabbawalas deliver around 200,000 lunch boxes daily within a 60km radius, with an on-time delivery rate of over 95%. The system relies on color-coded signals and sorting at train stations to efficiently deliver the high volume of meals each day in a low-cost manner. Customer satisfaction is the main aim of the dabbawalas through their reliable and affordable service.
Este documento presenta una introducción sobre los procesos electorales y las campañas políticas. Explica que el análisis de contenido es una técnica para estudiar ideas y significados en la comunicación de masas. Luego, resume los marcos teórico y metodológico sobre conceptos como participación ciudadana, electoral y política. Finalmente, analiza las definiciones de democracia, Estado representativo y partidos políticos según diferentes autores.
This document discusses mobile ID and levels of assurance in authentication. It presents four levels of assurance from little to very high confidence based on the number and type of authentication factors used. Mobile ID uses public and private keys to securely authenticate users via their mobile phones. The document outlines several use cases for mobile ID in banking, e-government, e-health, e-commerce and more. It provides an example of Norway's Bank ID system and how mobile operators can implement mobile ID solutions. Open questions are raised around adopting international security standards, developing a mobile ID roadmap, and implementing digital passports.
Alcantarillado condominial estrategias de saneamientoJorge Garcia
Este documento presenta una estrategia de saneamiento para alcanzar los Objetivos de Desarrollo del Milenio en el contexto de los municipios saludables. Propone el uso del alcantarillado condominial como una alternativa técnica, económica y socialmente viable para proveer servicios básicos de saneamiento a las poblaciones periurbanas de América Latina. Incluye estudios de caso del sistema condominial implementado en Bolivia, Brasil y Perú, mostrando sus ventajas comparativas sobre los sistemas convencionales. Finalmente,
This document discusses cost control and ways for companies to reduce costs. It defines cost control as methods used to monitor and improve business cost efficiency. Companies often cut costs in response to economic pressures. The document provides examples of cost control techniques like renegotiating contracts annually, discussing costs with customers, and matching payment terms to inventory turnover rates. It also lists areas where operational cost control can be applied, such as managing power/energy usage, fuel consumption, repairs and maintenance, projects, contracts and vendors.
Improvement - Preliminary Task vs Main Taskkhalfyard
The document summarizes the improvements the author has made in their Photoshop and InDesign skills from their preliminary task to their main music magazine task. Specifically:
- The author's manipulation of text and use of Photoshop tools has become more advanced in their main task compared to the preliminary task.
- The author learned that dark colors and too much text don't work as well on covers. Their main task cover incorporated brighter colors and less text.
- The contents page in the main task used a more effective structure and brighter colors compared to the preliminary task.
- A double page spread was created in InDesign for the main task, which the author had to learn from scratch.
published-pdf-1206-6-Ego Defensive Styles As Predictors of Emotional Intellig...Mahmood Amirinia
- The document examines how ego defensive styles predict emotional intelligence and how demographic characteristics affect styles and intelligence.
- Statistical analyses found that age and gender significantly impacted defensive styles, with men using mature and neurotic styles more than women.
- Age was also found to facilitate stress management. Employees with different educational backgrounds had significantly different scores on components of the Bar-On emotional intelligence model.
- Defensive styles were found to predict components of emotional intelligence, with mature styles positively associated and immature styles negatively associated. Neurotic styles were not significantly correlated with emotional intelligence.
This document provides an overview of an artist named Brea Sargent and her work. It summarizes her background in Virginia, inspiration from artists like Feng Zhu and Hayao Miyazaki, and creation of original characters. It also outlines her experience in cosplay and prop work for conventions, volunteer work at Full Sail University, and use of tools like Sketchbook Pro and ZBrush. Her goal is to work for studios like Dreamworks, ILM, Studio Ghibli, and WETA. Contact information is provided at the end.
Reading Materials for Operational Research Derbew Tesfa
This document provides an introduction to deterministic operations research models. It covers linear programming formulations including the simplex method for solving linear programs. Additional topics include sensitivity analysis, duality, network flows, integer programming, and dynamic programming. Mathematical modeling concepts are illustrated through examples involving product mix optimization, material blending to minimize costs, and network problems. Linear programming and other optimization techniques are presented as tools for decision making under deterministic conditions.
This document presents all existing and non-existing optimization features in Scilab (examples of nonlinear optimization, available algorithms to solve quadratic problems, non-linear least squares problems, semidefinite programming, genetic algorithms, simulated annealing and linear matrix inequalities...)
This document provides an overview and user guide for IBM SPSS Categories 20, which provides optimal scaling procedures for analyzing categorical data. It introduces key concepts of optimal scaling and discusses the appropriate uses of six procedures: categorical regression, categorical principal components analysis, nonlinear canonical correlation analysis, correspondence analysis, multiple correspondence analysis, and multidimensional scaling. The document also provides details on executing each procedure and interpreting their outputs.
This document provides an overview of the Maxima computer algebra system, including its history and development from Macsyma. It describes several interfaces for interacting with Maxima, such as the terminal interface, Emacs interface, and Xmaxima graphical interface. It also covers basic functions and operations in Maxima like trigonometric functions, differentiation, integration, and solving ordinary differential equations. The document consists of multiple parts that describe additional packages, installing Maxima, resources and troubleshooting.
This document provides a programming guide for the Magelis XBT GT and XBT GK HMI controller. It describes how to create and configure a new project, add devices to the project tree, set up libraries, memory mapping, tasks, controller states and behaviors, network and fieldbus configurations, and troubleshooting. The guide aims to help users understand and program the functions of the XBT GT/GK HMI controller.
This document provides programming guidelines for writing C/AL code in Navision, including conventions around formatting, naming, numbering, and developing add-on applications. It describes best practices for spacing, indentation, comments, ordering variables and expressions, using parameters and symbolic values, and more. The guidelines are intended to promote consistency and maintainability as the application is enhanced over time.
This document provides an overview and introduction to the RAPID controller software for the IRC5 robot controller, describing the product documentation available, safety considerations, and basic RAPID programming concepts such as variables, flow control, and robot functionality.
This document describes a maximum entropy modeling toolkit that provides conditional maximum entropy models, L-BFGS and GIS parameter estimation algorithms, Gaussian prior smoothing, C++ and Python APIs. It discusses building, installing and using the toolkit on various operating systems. It also provides tutorials on maximum entropy modeling concepts and using the toolkit's features and APIs.
This document provides an introduction and overview of the contents and structure of a book on quantitative finance programming in C++. It outlines what topics will be covered in each chapter, including introductions to C++, object-oriented programming, generic programming, the standard template library, and matrix classes. It also lists prerequisites, software requirements, what topics are excluded, and where to find help. The document aims to prepare the reader for what to expect from the book.
This document provides an overview and introduction to conjoint analysis, including:
- Conjoint analysis is a market research technique used to determine the relative importance of product attributes and consumer preferences for different attribute levels.
- It uses a full-profile approach where respondents rate or rank complete product profiles consisting of different attribute level combinations.
- An orthogonal array is used to generate a manageable set of product profiles that can capture main effects while minimizing the total number of profiles.
- The profiles are presented to respondents who provide preference data that is then analyzed to calculate part-worth utilities quantifying preferences for each attribute level.
This document provides information about IBM SPSS Advanced Statistics 20 software. It includes sections on GLM Multivariate Analysis, GLM Repeated Measures, Variance Components Analysis, Linear Mixed Models, and Generalized Linear Models. The document discusses building model terms, contrasts, plots, post hoc comparisons, estimation methods, and saving outputs for these advanced statistical procedures in IBM SPSS. It also provides information on technical support, training seminars, and additional publications related to using IBM SPSS Statistics software.
This document discusses various techniques for optimizing performance in C code, including compiler optimizations, intermediate representation (IR) level optimizations, loop optimizations, data structure optimizations, and other techniques. It provides examples of applying these optimizations to a specific C code, such as using compiler flags tailored for the target CPU architecture, constant folding, redundancy elimination, and algebraic simplifications. The optimizations are able to significantly improve the execution time of the code, reducing it from over 18 minutes to under 40 seconds.
This document is a textbook titled "Programming Fundamentals - A Modular Structured Approach using C++" by Kenneth Leroy Busbee. It covers topics related to programming fundamentals such as data types, operators, functions, input/output, and more using C++ as the programming language. The textbook is divided into chapters that each cover a programming concept and include examples and exercises. It is intended to teach structured programming techniques using a modular approach in C++.
This document is the user's manual for Matpower 5.0, an open-source power system modeling and optimization package. It describes how to install and run Matpower simulations, model power system components, perform power flow and optimal power flow analyses, and extend Matpower's capabilities through callbacks. The manual also outlines various Matpower functions for input/output, modifying case data, and other utilities.
This document is a draft companion to the book "Introduction to Applied Linear Algebra: Vectors, Matrices, and Least Squares" written in Python. It aims to demonstrate how the concepts from the book can be expressed and implemented in Python. The companion follows the organization of the book and assumes familiarity with both the book content and Python basics. It focuses on numerical linear algebra operations using NumPy and other standard Python packages. The goal is to provide Python code examples that correspond to the mathematical concepts in the book.
This document provides an overview of the AutoLISP programming language and describes how to use AutoLISP to manipulate and interact with AutoCAD. It covers AutoLISP basics like expressions, functions, data types, variables, and control structures. It also explains how to use AutoLISP to access AutoCAD commands, get user input, handle objects and extended data, and more. The document is intended to help developers learn AutoLISP and effectively program within the AutoCAD environment.
This document provides an overview of the AutoLISP programming language and describes how to use AutoLISP to manipulate and interact with AutoCAD. It covers AutoLISP basics like expressions, functions, data types, variables, and error handling. It also explains how to use AutoLISP to access AutoCAD commands, get user input, perform geometric operations, convert between different representations, handle files, manipulate AutoCAD objects, and access extended data and the symbol table. The document is intended as a reference for AutoLISP developers.
This document provides contact information and revision history for the MATLAB Primer. It lists ways to contact MathWorks for sales, support, and community help. It also provides the copyright information and lists revisions made from 1996 to 2014. The document contains 23 printing revisions and online revisions for MATLAB releases from versions 5 through 8.4 (R2014b).
This document provides an overview and instructions for using transformations in Informatica PowerCenter. It describes how to create and configure transformations and ports, use expressions, variables, default values, and make transformations reusable. It also provides specific guidance on using the Aggregator and Custom transformations.
Similar to Mip formulations quick_reference (2) (20)
International Conference on NLP, Artificial Intelligence, Machine Learning an...gerogepatton
International Conference on NLP, Artificial Intelligence, Machine Learning and Applications (NLAIM 2024) offers a premier global platform for exchanging insights and findings in the theory, methodology, and applications of NLP, Artificial Intelligence, Machine Learning, and their applications. The conference seeks substantial contributions across all key domains of NLP, Artificial Intelligence, Machine Learning, and their practical applications, aiming to foster both theoretical advancements and real-world implementations. With a focus on facilitating collaboration between researchers and practitioners from academia and industry, the conference serves as a nexus for sharing the latest developments in the field.
CHINA’S GEO-ECONOMIC OUTREACH IN CENTRAL ASIAN COUNTRIES AND FUTURE PROSPECTjpsjournal1
The rivalry between prominent international actors for dominance over Central Asia's hydrocarbon
reserves and the ancient silk trade route, along with China's diplomatic endeavours in the area, has been
referred to as the "New Great Game." This research centres on the power struggle, considering
geopolitical, geostrategic, and geoeconomic variables. Topics including trade, political hegemony, oil
politics, and conventional and nontraditional security are all explored and explained by the researcher.
Using Mackinder's Heartland, Spykman Rimland, and Hegemonic Stability theories, examines China's role
in Central Asia. This study adheres to the empirical epistemological method and has taken care of
objectivity. This study analyze primary and secondary research documents critically to elaborate role of
china’s geo economic outreach in central Asian countries and its future prospect. China is thriving in trade,
pipeline politics, and winning states, according to this study, thanks to important instruments like the
Shanghai Cooperation Organisation and the Belt and Road Economic Initiative. According to this study,
China is seeing significant success in commerce, pipeline politics, and gaining influence on other
governments. This success may be attributed to the effective utilisation of key tools such as the Shanghai
Cooperation Organisation and the Belt and Road Economic Initiative.
Embedded machine learning-based road conditions and driving behavior monitoringIJECEIAES
Car accident rates have increased in recent years, resulting in losses in human lives, properties, and other financial costs. An embedded machine learning-based system is developed to address this critical issue. The system can monitor road conditions, detect driving patterns, and identify aggressive driving behaviors. The system is based on neural networks trained on a comprehensive dataset of driving events, driving styles, and road conditions. The system effectively detects potential risks and helps mitigate the frequency and impact of accidents. The primary goal is to ensure the safety of drivers and vehicles. Collecting data involved gathering information on three key road events: normal street and normal drive, speed bumps, circular yellow speed bumps, and three aggressive driving actions: sudden start, sudden stop, and sudden entry. The gathered data is processed and analyzed using a machine learning system designed for limited power and memory devices. The developed system resulted in 91.9% accuracy, 93.6% precision, and 92% recall. The achieved inference time on an Arduino Nano 33 BLE Sense with a 32-bit CPU running at 64 MHz is 34 ms and requires 2.6 kB peak RAM and 139.9 kB program flash memory, making it suitable for resource-constrained embedded systems.
ACEP Magazine edition 4th launched on 05.06.2024Rahul
This document provides information about the third edition of the magazine "Sthapatya" published by the Association of Civil Engineers (Practicing) Aurangabad. It includes messages from current and past presidents of ACEP, memories and photos from past ACEP events, information on life time achievement awards given by ACEP, and a technical article on concrete maintenance, repairs and strengthening. The document highlights activities of ACEP and provides a technical educational article for members.
Presentation of IEEE Slovenia CIS (Computational Intelligence Society) Chapte...University of Maribor
Slides from talk presenting:
Aleš Zamuda: Presentation of IEEE Slovenia CIS (Computational Intelligence Society) Chapter and Networking.
Presentation at IcETRAN 2024 session:
"Inter-Society Networking Panel GRSS/MTT-S/CIS
Panel Session: Promoting Connection and Cooperation"
IEEE Slovenia GRSS
IEEE Serbia and Montenegro MTT-S
IEEE Slovenia CIS
11TH INTERNATIONAL CONFERENCE ON ELECTRICAL, ELECTRONIC AND COMPUTING ENGINEERING
3-6 June 2024, Niš, Serbia
Literature Review Basics and Understanding Reference Management.pptxDr Ramhari Poudyal
Three-day training on academic research focuses on analytical tools at United Technical College, supported by the University Grant Commission, Nepal. 24-26 May 2024
Electric vehicle and photovoltaic advanced roles in enhancing the financial p...IJECEIAES
Climate change's impact on the planet forced the United Nations and governments to promote green energies and electric transportation. The deployments of photovoltaic (PV) and electric vehicle (EV) systems gained stronger momentum due to their numerous advantages over fossil fuel types. The advantages go beyond sustainability to reach financial support and stability. The work in this paper introduces the hybrid system between PV and EV to support industrial and commercial plants. This paper covers the theoretical framework of the proposed hybrid system including the required equation to complete the cost analysis when PV and EV are present. In addition, the proposed design diagram which sets the priorities and requirements of the system is presented. The proposed approach allows setup to advance their power stability, especially during power outages. The presented information supports researchers and plant owners to complete the necessary analysis while promoting the deployment of clean energy. The result of a case study that represents a dairy milk farmer supports the theoretical works and highlights its advanced benefits to existing plants. The short return on investment of the proposed approach supports the paper's novelty approach for the sustainable electrical system. In addition, the proposed system allows for an isolated power setup without the need for a transmission line which enhances the safety of the electrical network
Introduction- e - waste – definition - sources of e-waste– hazardous substances in e-waste - effects of e-waste on environment and human health- need for e-waste management– e-waste handling rules - waste minimization techniques for managing e-waste – recycling of e-waste - disposal treatment methods of e- waste – mechanism of extraction of precious metal from leaching solution-global Scenario of E-waste – E-waste in India- case studies.
DEEP LEARNING FOR SMART GRID INTRUSION DETECTION: A HYBRID CNN-LSTM-BASED MODELgerogepatton
As digital technology becomes more deeply embedded in power systems, protecting the communication
networks of Smart Grids (SG) has emerged as a critical concern. Distributed Network Protocol 3 (DNP3)
represents a multi-tiered application layer protocol extensively utilized in Supervisory Control and Data
Acquisition (SCADA)-based smart grids to facilitate real-time data gathering and control functionalities.
Robust Intrusion Detection Systems (IDS) are necessary for early threat detection and mitigation because
of the interconnection of these networks, which makes them vulnerable to a variety of cyberattacks. To
solve this issue, this paper develops a hybrid Deep Learning (DL) model specifically designed for intrusion
detection in smart grids. The proposed approach is a combination of the Convolutional Neural Network
(CNN) and the Long-Short-Term Memory algorithms (LSTM). We employed a recent intrusion detection
dataset (DNP3), which focuses on unauthorized commands and Denial of Service (DoS) cyberattacks, to
train and test our model. The results of our experiments show that our CNN-LSTM method is much better
at finding smart grid intrusions than other deep learning algorithms used for classification. In addition,
our proposed approach improves accuracy, precision, recall, and F1 score, achieving a high detection
accuracy rate of 99.50%.
TIME DIVISION MULTIPLEXING TECHNIQUE FOR COMMUNICATION SYSTEMHODECEDSIET
Time Division Multiplexing (TDM) is a method of transmitting multiple signals over a single communication channel by dividing the signal into many segments, each having a very short duration of time. These time slots are then allocated to different data streams, allowing multiple signals to share the same transmission medium efficiently. TDM is widely used in telecommunications and data communication systems.
### How TDM Works
1. **Time Slots Allocation**: The core principle of TDM is to assign distinct time slots to each signal. During each time slot, the respective signal is transmitted, and then the process repeats cyclically. For example, if there are four signals to be transmitted, the TDM cycle will divide time into four slots, each assigned to one signal.
2. **Synchronization**: Synchronization is crucial in TDM systems to ensure that the signals are correctly aligned with their respective time slots. Both the transmitter and receiver must be synchronized to avoid any overlap or loss of data. This synchronization is typically maintained by a clock signal that ensures time slots are accurately aligned.
3. **Frame Structure**: TDM data is organized into frames, where each frame consists of a set of time slots. Each frame is repeated at regular intervals, ensuring continuous transmission of data streams. The frame structure helps in managing the data streams and maintaining the synchronization between the transmitter and receiver.
4. **Multiplexer and Demultiplexer**: At the transmitting end, a multiplexer combines multiple input signals into a single composite signal by assigning each signal to a specific time slot. At the receiving end, a demultiplexer separates the composite signal back into individual signals based on their respective time slots.
### Types of TDM
1. **Synchronous TDM**: In synchronous TDM, time slots are pre-assigned to each signal, regardless of whether the signal has data to transmit or not. This can lead to inefficiencies if some time slots remain empty due to the absence of data.
2. **Asynchronous TDM (or Statistical TDM)**: Asynchronous TDM addresses the inefficiencies of synchronous TDM by allocating time slots dynamically based on the presence of data. Time slots are assigned only when there is data to transmit, which optimizes the use of the communication channel.
### Applications of TDM
- **Telecommunications**: TDM is extensively used in telecommunication systems, such as in T1 and E1 lines, where multiple telephone calls are transmitted over a single line by assigning each call to a specific time slot.
- **Digital Audio and Video Broadcasting**: TDM is used in broadcasting systems to transmit multiple audio or video streams over a single channel, ensuring efficient use of bandwidth.
- **Computer Networks**: TDM is used in network protocols and systems to manage the transmission of data from multiple sources over a single network medium.
### Advantages of TDM
- **Efficient Use of Bandwidth**: TDM all
Understanding Inductive Bias in Machine LearningSUTEJAS
This presentation explores the concept of inductive bias in machine learning. It explains how algorithms come with built-in assumptions and preferences that guide the learning process. You'll learn about the different types of inductive bias and how they can impact the performance and generalizability of machine learning models.
The presentation also covers the positive and negative aspects of inductive bias, along with strategies for mitigating potential drawbacks. We'll explore examples of how bias manifests in algorithms like neural networks and decision trees.
By understanding inductive bias, you can gain valuable insights into how machine learning models work and make informed decisions when building and deploying them.
Advanced control scheme of doubly fed induction generator for wind turbine us...IJECEIAES
This paper describes a speed control device for generating electrical energy on an electricity network based on the doubly fed induction generator (DFIG) used for wind power conversion systems. At first, a double-fed induction generator model was constructed. A control law is formulated to govern the flow of energy between the stator of a DFIG and the energy network using three types of controllers: proportional integral (PI), sliding mode controller (SMC) and second order sliding mode controller (SOSMC). Their different results in terms of power reference tracking, reaction to unexpected speed fluctuations, sensitivity to perturbations, and resilience against machine parameter alterations are compared. MATLAB/Simulink was used to conduct the simulations for the preceding study. Multiple simulations have shown very satisfying results, and the investigations demonstrate the efficacy and power-enhancing capabilities of the suggested control system.
1. www.fico.com Make every decision countTM
FICOTM
Xpress Optimization Suite
MIP formulations and
linearizations
Quick reference
Last update 29 June, 2009
2. Published by Fair Isaac Corporation
c Copyright Fair Isaac Corporation 2009. All rights reserved.
All trademarks referenced in this manual that are not the property of Fair Isaac are acknowledged.
All companies, products, names and data contained within this book are completely fictitious and are used solely to illustrate
the use of Xpress. Any similarity between these names or data and reality is purely coincidental.
How to Contact the Xpress Team
Information, Sales and Licensing
USA, CANADA AND ALL AMERICAS
Email: XpressSalesUS@fico.com
WORLDWIDE
Email: XpressSalesUK@fico.com
Tel: +44 1926 315862
Fax: +44 1926 315854
FICO, Xpress team
Leam House, 64 Trinity Street
Leamington Spa
Warwickshire CV32 5YN
UK
Product Support
Email: Support@fico.com
(Please include ’Xpress’ in the subject line)
Telephone:
NORTH AMERICA
Tel (toll free): +1 (877) 4FI-SUPP
Fax: +1 (402) 496-2224
EUROPE, MIDDLE EAST, AFRICA
Tel: +44 (0) 870-420-3777
UK (toll free): 0800-0152-153
South Africa (toll free): 0800-996-153
Fax: +44 (0) 870-420-3778
ASIA-PACIFIC, LATIN AMERICA, CARIBBEAN
Tel: +1 (415) 446-6185
Brazil (toll free): 0800-891-6146
For the latest news and Xpress software and documentation updates, please visit the Xpress website at
http://www.fico.com/xpress or subscribe to our mailing list.
4. MIP formulations
• Integer variables (UI) – decision variables that must take on integer values. Some upper limit
must be specified;
• Partial integer variables (PI) – decision variables that must take integer values below a
specified limit but can take any value above that limit;
• Semi-continuous variables (SC) – decision variables that must take on either the value 0, or
any value in a range whose lower an upper limits are specified. SCs help model situations
where, if a variable is to be used at all, it has to be at some minimum level;
• Semi-continuous integer variables (SI) – decision variables that must take either the value 0,
or any integer value in a range whose lower and upper limits are specified;
• Special ordered sets of type one (SOS1) – an ordered set of variables of which at most one
can take a nonzero value;
• Special ordered sets of type two (SOS2) – an ordered set of variables of which at most two
can be nonzero, and if two are nonzero, they must be consecutive in their ordering.
Remarks
• The solution values of binary and integer variables are real valued, not integer valued.
• At an optimal MIP solution, the actual values of the binary and integer variables will be
integer – to within a certain tolerance.
1.2 Integer Programming entities in Mosel
Definition: integer programming types are defined as unary constraints on previously declared
decision variables of type mpvar; name the constraints if you want to be able to access/modify
them.
declarations
d: mpvar
ifmake: array(PRODS,LINES) of mpvar
x: mpvar
end-declarations
d is_binary ! Single binary variable
forall(p in PRODS, l in LINES)
ifmake(p,l) is_binary ! An array of binaries
ACtr:= x is_integer ! An integer variable
x >= MINVAL ! Lower bound on the variable
x <= MAXVAL ! Upper bound on the variable
! MINVAL,MAXVAL: values between -MAX_REAL and MAX_REAL
...
ACtr:= x is_partint 10 ! Change type to partial integer
...
ACtr:= 0 ! Delete constraint
! Equivalently:
ACtr:= x is_continuous ! Change type to continuous
Solving: with Xpress-Optimizer (Mosel module mmxprs) any problem containing integer
programming entities is automatically solved as a MIP problem, to solve just the LP relaxation use
option XPRS_TOP (if following up with MIP search) or XPRS_LIN (ignore all MIP information) for
maximize / minimize.
Accessing the solution: for obtaining solution values of decision variables and linear expressions
use getsol (alternative syntax: .sol); the MIP problem status is returned by the function
getparam("XPRS_MIPSTATUS")
Introduction c 2009 Fair Isaac Corporation. All rights reserved. page 2
5. MIP formulations
case getparam("XPRS_MIPSTATUS") of
XPRS_MIP_NOT_LOADED,
XPRS_MIP_LP_NOT_OPTIMAL: writeln("Solving not started")
XPRS_MIP_LP_OPTIMAL: writeln("LP unbounded or infeasible")
XPRS_MIP_NO_SOL_FOUND,
XPRS_MIP_INFEAS: writeln("MIP search started, no solution")
XPRS_MIP_SOLUTION,
XPRS_MIP_OPTIMAL: writeln("MIP solution: ", , getobjval)
end-case
writeln("x: ", getsol(x))
writeln("d: ", d.sol)
1.3 Integer Programming entities in BCL
The BCL code extracts in this document are formulated for the BCL C++ interface. The other BCL
interfaces (C, Java, C#, VB) work similarly, please refer to the Xpress documentation for further
detail.
Definition: Integer Programming types are specified when creating decision variables (type
XPRBvar); types may be changed with setType.
XPRBprob prob("test");
XPRBvar d, ifmake[NP][NL], x;
int p,l;
d = prob.newVar("d", XPRB_BV); // Single binary variable
for (p = 0; p < NP; p++) // An array of binaries
for (l = 0; l < NL; l++)
ifmake[p][l] = prob.newVar("ifmake", XPRB_BV);
x = prob.newVar("x", XPRB_UI, MINVAL, MAXVAL); // An integer variable
// MINVAL,MAXVAL: reals between -XPRB_INFINITY and XPRB_INFINITY
...
x.setType(XPRB_PI); // Change type to partial integer
x.setLim(10);
...
x.setType(XPRB_PL); // Change type to continuous
Solving: use option "g" in solve / minim / maxim to solve a problem as a MIP problem (per
default only the LP relaxation is solved).
prob.minim("g");
Accessing the solution: for obtaining solution values of decision variables and linear expressions
use getSol; the MIP problem status is returned by getMIPstatus.
int mipstatus = prob.getMIPStat();
switch (mipstatus) {
case XPRB_MIP_NOT_LOADED:
case XPRB_MIP_LP_NOT_OPTIMAL:
cout << "Solving not started" << endl;
break;
case XPRB_MIP_LP_OPTIMAL:
cout << "LP unbounded or infeasible" << endl;
break;
case XPRB_MIP_NO_SOL_FOUND:
case XPRB_MIP_INFEAS:
cout << "MIP search started, no solution" << endl;
break;
case XPRB_MIP_SOLUTION:
Introduction c 2009 Fair Isaac Corporation. All rights reserved. page 3
6. MIP formulations
case XPRB_MIP_OPTIMAL:
cout << "MIP solution: " << prob.getObjVal() << endl;
break;
}
cout << x.getName() << ": " << x.getSol() << endl;
2 Binary variables
Binary decision variables
• take value 0 or 1
• model a discrete decision
– yes/no
– on/off
– open/close
– build or don’t build
– strategy A or strategy B
2.1 Logical conditions
Projects A, B, C, D, ... with associated binary variables a, b, c, d, ... which are 1 if we decide to do
the project and 0 if we decide not to do the project.
At most N of A, B, C,... a + b + c+. . . ≤ N
At least N of A, B, C,... a + b + c+. . . ≥ N
Exactly N of A, B, C,... a + b + c+. . . = N
If A then B b ≥ a
Not B ¯b = 1 − b
If A then not B a + b ≤ 1
If not A then B a + b ≥ 1
If A then B, and if B then A a = b
If A then B and C; A only if B and C b ≥ a and c ≥ a
or alternatively: a ≤ (b + c) / 2
If A then B or C b + c ≥ a
If B or C then A a ≥ b and a ≥ c
or alternatively: a ≥ 1
2 · (b + c)
If B and C then A a ≥ b + c − 1
If two or more of B, C, D or E then A a ≥ 1
3 · (b + c + d + e − 1)
If M or more of N projects (B, C, D, ...) then A a ≥ b+c+d+...−M+1
N−M+1
2.2 Minimum values
y = min{x1, x2} for two continuous variables x1, x2
• Must know lower and upper bounds
Binary variables c 2009 Fair Isaac Corporation. All rights reserved. page 4
7. MIP formulations
L1 ≤ x1 ≤ U1 [1.1]
L2 ≤ x2 ≤ U2 [1.2]
• Introduce binary variables d1, d2 to mean
di 1 if xi is the minimum value;
0 otherwise
• MIP formulation:
y ≤ x1 [2.1]
y ≤ x2 [2.2]
y ≥ x1 − (U1 − Lmin)(1 − d1) [3.1]
y ≥ x2 − (U2 − Lmin)(1 − d2) [3.2]
d1 + d2 = 1 [4]
• Generalization to y = min{x1, x2, . . . , xn}
Li ≤ xi ≤ Ui [1.i]
y ≤ xi [2.i]
y ≥ xi − (Ui − Lmin)(1 − di) [3.i]
i di = 1 [4]
2.3 Maximum values
y = max{x1, x2, . . . , xn} for continuous variables x1, . . . , xn
• Must know lower and upper bounds
Li ≤ xi ≤ Ui [1.i]
• Introduce binary variables d1, . . . , dn
di = 1 if xi is the minimum value, 0 otherwise
• MIP formulation
Li ≤ xi ≤ Ui [1.i]
y ≥ xi [2.i]
y ≤ xi + (Umax − Li)(1 − di) [3.i]
i di = 1 [4]
2.4 Absolute values
y = |x1 − x2| for two variables x1, x2 with 0 ≤ xi ≤ U
• Introduce binary variables d1, d2 to mean
d1 : 1 if x1 − x2 is the positive value
d2 : 1 if x2 − x1 is the positive value
Binary variables c 2009 Fair Isaac Corporation. All rights reserved. page 5
8. MIP formulations
• MIP formulation
0 ≤ xi ≤ U [1.i]
0 ≤ y − (x1 − x2) ≤ 2 · U · d2 [2]
0 ≤ y − (x2 − x1) ≤ 2 · U · d1 [3]
d1 + d2 = 1 [4]
2.5 Logical AND
d = min{d1, d2} for two binary variables d1, d2, or equivalently
d = d1 · d2 (see Section 2.8), or
d = d1 AND d2 as a logical expression
• IP formulation
d ≤ d1 [1.1]
d ≤ d2 [1.2]
d ≥ d1 + d2 − 1 [2]
d ≥ 0 [3]
• Generalization to d = min{d1, d2, . . . , dn}
d ≤ di [1.i]
d ≥ i di − (n − 1) [2]
d ≥ 0 [3]
Note: equivalent to d = d1 · d2·. . . ·dn
and (as a logical expression): d = d1 AND d2 AND ... AND dn
2.6 Logical OR
d = max{d1, d2} for two binary variables d1, d2, or
d = d1 OR d2 as a logical expression
• IP formulation
d ≥ d1 [1.1]
d ≥ d2 [1.2]
d ≤ d1 + d2 [2]
d ≤ 1 [3]
• Generalization to d = max{d1, d2, . . . , dn}
d ≥ di [1.i]
d ≤ i di [2.i]
d ≤ 1 [3]
Note: equivalent to d = d1 OR d2. . . OR dn
Binary variables c 2009 Fair Isaac Corporation. All rights reserved. page 6
9. MIP formulations
2.7 Logical NOT
d = NOT d1 for one binary variable d1
• IP formulation
d = 1 − d1
2.8 Product values
y = x · d for one continuous variable x, one binary variable d
• Must know lower and upper bounds
L ≤ x ≤ U
• MIP formulation:
Ld ≤ y ≤ Ud [1]
L(1 − d) ≤ x − y ≤ U(1 − d) [2]
Product of two binaries: d3 = d1 · d2
• MIP formulation:
d3 ≤ d1
d3 ≤ d2
d3 ≥ d1 + d2 − 1
2.9 Disjunctions
Either 5 ≤ x ≤ 10 or 80 ≤ x ≤ 100
• Introduce a new binary variable:
ifupper: 0 if 5 ≤ x ≤ 10; 1 if 80 ≤ x ≤ 100
• MIP formulation:
x ≤ 10 + (100 − 10) · ifupper [1]
x ≥ 5 + (80 − 5) · ifupper [2]
• Generalization to Either L1 ≤ i Aixi ≤ U1 or L2 ≤ i Aixi ≤ U2 (with U1 ≤ L2)
i Aixi ≤ U1 + (U2 − U1) · ifupper [1]
i Aixi ≥ L1 + (L2 − L1) · ifupper [2]
Binary variables c 2009 Fair Isaac Corporation. All rights reserved. page 7
10. MIP formulations
2.10 Minimum activity level
Continuous production rate make that may be 0 (the plant is not operating) or between allowed
production limits MAKEMIN and MAKEMAX
• Introduce a binary variable ifmake to mean
ifmake : 0 if plant is shut
1 plant is open
MIP formulation:
make ≥ MAKEMIN · ifmake [1]
make ≤ MAKEMAX · ifmake [2]
Note: see Section 3.5 for an alternative formulation using semi-continuous variables
• The ifmake binary variable also allows us to model fixed costs
– FCOST: fixed production cost
– VCOST: variable production cost
MIP formulation:
cost = FCOST · ifmake + VCOST · make [3]
make ≥ MAKEMIN · ifmake [1]
make ≤ MAKEMAX · ifmake [2]
3 MIP formulations using other entities
In principle, all you need in building MIP models are continuous variables and binary variables.
But it is convenient to extend the set of modeling entities to embrace objects that frequently
occur in practice.
Integer decision variables
• values 0, 1, 2, ... up to small upper bound
• model discrete quantities
• try to use partial integer variables instead of integer variables with a very large upper bound
Semi-continuous variable
• may be zero, or any value between the intermediate bound and the upper bound
• Semi-continuous integer variables also available: may be zero, or any integer value between
the intermediate bound and the upper bound
Special ordered sets
• set of decision variables
MIP formulations using other entities c 2009 Fair Isaac Corporation. All rights reserved. page 8
11. MIP formulations
• each variable has a different ordering value, which orders the set
• Special ordered sets of type 1 (SOS1): at most one variable may be non-zero
• Special ordered sets of type 2 (SOS2): at most two variables may be non-zero; the non-zero
variables must be adjacent in ordering
3.1 Batch sizes
Must deliver in batches of 10, 20, 30, ...
• Decision variables
nship number of batches delivered: integer
ship quantity delivered: continuous
• Constraint formulation
ship = 10 · nship
3.2 Ordered alternatives
Suppose you have N possible investments of which at most one can be selected. The capital cost is
CAPi and the expected return is RETi.
• Often use binary variables to choose between alternatives. However, SOS1 are more
efficient to choose between a set of graded (ordered) alternatives.
• Define a variable di to represent the decision, di = 1 if investment i is picked
• Binary variable (standard) formulation
di : binary variables
Maximize: ret = i RETidi
i di ≤ 1
i CAPidi ≤ MAXCAP
• SOS1 formulation
{di; ordering value CAPi} : SOS1
Maximize: ret = i RETidi
i di ≤ 1
i CAPidi ≤ MAXCAP
• Special ordered sets in Mosel
– special ordered sets are a special type of linear constraint
– the set includes all variables in the constraint
– the coefficient of a variable is used as the ordering value (i.e., each value must be
unique)
MIP formulations using other entities c 2009 Fair Isaac Corporation. All rights reserved. page 9
12. MIP formulations
declarations
I=1..4
d: array(I) of mpvar
CAP: array(I) of real
My_Set, Ref_row: linctr
end-declarations
My_Set:= sum(i in I) CAP(i)*d(i) is_sos1
or alternatively (must be used if a coefficient is 0):
Ref_row:= sum(i in I) CAP(i)*d(i)
makesos1(My_Set, union(i in I) d(i), Ref_row)
• Special ordered sets in BCL
– a special ordered set is an object of type XPRBsos
– the set includes all variables from the specified linear expression or constraint that have
a coefficient different from 0
– the coefficient of a variable is used as the ordering value (i.e., each value must be
unique)
XPRBprob prob("testsos");
XPRBvar d[I];
XPRBexpr le;
XPRBsos My_Set;
double CAP[I];
int i;
for(i=0; i<I; i++) d[i] = prob.newVar("d");
for(i=0; i<I; i++) le += CAP[i]*d[i];
My_Set = prob.newSos("My_Set", XPRB_S1, le);
3.3 Price breaks
All items discount: when buying a certain number of items we get discounts on all items that we
buy if the quantity we buy lies in certain price bands.
Cost
xB1 B2 B3
COST1
COST2
COST3
less than B1 COST1 each
≥ B1 and < B2 COST2 each
≥ B2 and < B3 COST3 each
• Define binary variables bi (i=1,2,3), where bi is 1 if we pay a unit cost of COSTi.
• Real decision variables xi represent the number of items bought at price COSTi.
MIP formulations using other entities c 2009 Fair Isaac Corporation. All rights reserved. page 10
13. MIP formulations
• The total cost is given by x = i xi
• MIP formulation :
i bi = 1
x1 ≤ B1 · b1
Bi−1 · bi ≤ xi ≤ Bi · bi for i = 2, 3
where the variables bi are either defined as binaries, or they form a Special Ordered Set of
type 1 (SOS1), where the order is given by the values of the breakpoints Bi.
Incremental pricebreaks: when buying a certain number of items we get discounts incrementally.
The unit cost for items between 0 and B1 is C1, items between B1 and B2 cost C2 each, etc.
Cost
xB3B2B1
COST1
COST
COST3
2
Formulation with Special Ordered Sets of type 2 (SOS2):
• Associate real valued decision variables wi (i = 0, 1, 2, 3) with the quantity break points
B0 = 0, B1, B2 and B3.
• Cost break points CBPi (=total cost of buying quantity Bi):
CBP0 = 0
CBPi = CBPi−1 + Ci · (Bi − Bi−1) for i = 1, 2, 3
• Constraint formulation:
i wi = 1
TotalCost = i CBPi · wi
x = i Bi · wi
where the wi form a SOS2 with reference row coefficients given by the coefficients in the
definition of the total amount x.
For a solution to be valid, at most two of the wi can be non-zero, and if there are two
non-zero they must be contiguous, thus defining one of the line segments.
• Implementation with Mosel (is_sos2 cannot be used here due to the 0-valued coefficient
of w0):
Defx := x = sum(i in 1..3) B(i)*w(i)
makesos2(My_Set, union(i in 0..3) w(i), Defx)
Formulation using binaries:
MIP formulations using other entities c 2009 Fair Isaac Corporation. All rights reserved. page 11
14. MIP formulations
• Define binary variables bi (i=1,2,3), where bi is 1 if we have bought any items at a unit cost
of COSTi.
• Real decision variables xi (i=1,..3) for the number of items bought at price COSTi.
• Total amount bought: x = i xi
• Constraint formulation:
(Bi − Bi−1) · bi+1 ≤ xi ≤ (Bi − Bi−1) · bi for i = 1, 2
x3 ≤ (B3 − B2) · b3
b1 ≥ b2 ≥ b3
3.4 Non-linear functions
Can model non-linear functions in the same way as incremental pricebreaks
• approximate the non-linear function with a piecewise linear function
• use an SOS2 to model the piecewise linear function
Non-linear function in a single variable
y
xR(1) R(2) R(3) R(4)
F(1)
F(4)
F(3)
F(2)
1
2
3
4
• x-coordinates of the points: R1, ..., R4
y-coordinates F1, ..., F4. So point 1 is (R1, F1) etc.
• Let weights (decision variables) associated with point i be wi (i=1,...,4)
• Form convex combinations of the points using weights wi to get a combination point (x,y):
x = i wi · Ri
y = i wi · Fi
i wi = 1
where the variables wi form an SOS2 set with ordering coefficients defined by values Ri.
MIP formulations using other entities c 2009 Fair Isaac Corporation. All rights reserved. page 12
15. MIP formulations
• Mosel implementation:
declarations
I=1..4
x,y: mpvar
w: array(I) of mpvar
R,F: array(I) of real
end-declarations
! ...assign values to arrays R and F...
! Define the SOS-2 with "reference row" coefficients from R
Defx:= sum(i in I) R(i)*w(i) is_sos2
sum(i in I) w(i) = 1
! The variable and the corresponding function value we want to approximate
x = Defx
y = sum(i in I) F(i)*w(i)
• BCL implementation:
XPRBprob prob("testsos");
XPRBvar x, y, w[I];
XPRBexpr Defx, le, ly;
double R[I], F[I];
int i;
// ...assign values to arrays R and F...
// Create the decision variables
x = prob.newVar("x"); y = prob.newVar("y");
for(i=0; i<I; i++) w[i] = prob.newVar("w");
// Define the SOS-2 with "reference row" coefficients from R
for(i=0; i<I; i++) Defx += R[i]*w[i];
prob.newSos("Defx", XPRB_S2, Defx);
for(i=0; i<I; i++) le += w[i];
prob.newCtr("One", le == 1);
// The variable and the corresponding function value we want to approximate
prob.newCtr("Eqx", x == Defx);
for(i=0; i<I; i++) ly += F[i]*w[i];
prob.newCtr("Eqy", y == ly);
Non-linear function in two variables
Interpolation of a function f in two variables: approximate f at a point P by the corners C of the
enclosing square of a rectangular grid (NB: the representation of P=(x,y) by the four points C
obviously means a fair amount of degeneracy).
P
C
C C
C
1 7 8 965432
1
2
4
5
6
3
MIP formulations using other entities c 2009 Fair Isaac Corporation. All rights reserved. page 13
16. MIP formulations
• x-coordinates of grid points: X1, ..., Xn
y-coordinates of grid points: Y1, ..., Ym. So grid points are (Xi, Yj).
• Function evaluation at grid points: FXY11, ..., FXYnm
• Define weights (decision variables) associated with x and y coordinates, wxi respectively wyj,
and for each grid point (X(i), Y(j)) define a variable wxyij
• Form convex combinations of the points using the weights to get a combination point (x,y)
and the corresponding function approximation:
x = i wxi · Xi
y = j wyj · Yj
f = ij wxyij · FXYij
∀i = 1, . . . , n : j wxyij = wxi
∀j = 1, . . . , m : i wxyij = wyj
i wxi = 1
j wyj = 1
where the variables wxi form an SOS2 set with ordering coefficients defined by values Xi,
and the variables wyj are a second SOS2 set with coordinate values Yj as ordering
coefficients.
• Mosel implementation:
declarations
RX,RY:range
X: array(RX) of real ! x coordinate values of grid points
Y: array(RY) of real ! y coordinate values of grid points
FXY: array(RX,RY) of real ! Function evaluation at grid points
end-declarations
! ... initialize data
declarations
wx: array(RX) of mpvar ! Weight on x coordinate
wy: array(RY) of mpvar ! Weight on y coordinate
wxy: array(RX,RY) of mpvar ! Weight on (x,y) coordinates
x,y,f: mpvar
end-declarations
! Definition of SOS (assuming coordinate values <>0)
sum(i in RX) X(i)*wx(i) is_sos2
sum(j in RY) Y(j)*wy(j) is_sos2
! Constraints
forall(i in RX) sum(j in RY) wxy(i,j) = wx(i)
forall(j in RY) sum(i in RX) wxy(i,j) = wy(j)
sum(i in RX) wx(i) = 1
sum(j in RY) wy(j) = 1
! Then x, y and f can be calculated using
x = sum(i in RX) X(i)*wx(i)
y = sum(j in RY) Y(j)*wy(j)
f = sum(i in RX,j in RY) FXY(i,j)*wxy(i,j)
! f can take negative or positive values (unbounded variable)
f is_free
MIP formulations using other entities c 2009 Fair Isaac Corporation. All rights reserved. page 14
17. MIP formulations
• BCL implementation:
XPRBprob prob("testsos");
XPRBvar x, y, f;
XPRBvar wx[NX], wy[NY], wxy[NX][NY]; // Weights on coordinates
XPRBexpr Defx, Defy, le, lexy, lx, ly;
double DX[NX], DY[NY];
double FXY[NX][NY];
int i,j;
// ... initialize data arrays DX, DY, FXY
// Create the decision variables
x = prob.newVar("x"); y = prob.newVar("y");
f = prob.newVar("f", XPRB_PL, -XPRB_INFINITY, XPRB_INFINITY); // Unbounded variable
for(i=0; i<NX; i++) wx[i] = prob.newVar("wx");
for(j=0; j<NY; j++) wy[j] = prob.newVar("wy");
for(i=0; i<NX; i++)
for(j=0; j<NY; j++) wxy[i][j] = prob.newVar("wxy");
// Definition of SOS
for(i=0; i<NX; i++) Defx += X[i]*wx[i];
prob.newSos("Defx", XPRB_S2, Defx);
for(j=0; j<NY; j++) Defy += Y[j]*wy[j];
prob.newSos("Defy", XPRB_S2, Defy);
// Constraints
for(i=0; i<NX; i++) {
le = 0;
for(j=0; j<NY; j++) le += wxy[i][j];
prob.newCtr("Sumx", le == wx[i]);
}
for(j=0; j<NY; j++) {
le = 0;
for(i=0; i<NX; i++) le += wxy[i][j];
prob.newCtr("Sumy", le == wy[j]);
}
for(i=0; i<NX; i++) lx += wx[i];
prob.newCtr("Convx", lx == 1);
for(j=0; j<NY; j++) ly += wy[j];
prob.newCtr("Convy", ly == 1);
// Calculate x, y and the corresponding function value f we want to approximate
prob.newCtr("Eqx", x == Defx);
prob.newCtr("Eqy", y == Defy);
for(i=0; i<NX; i++)
for(j=0; j<NY; j++) lexy += FXY[i][j]*wxy[i][j];
prob.newCtr("Eqy", f == lexy);
3.5 Minimum activity level
Continuous production rate make. May be 0 (the plant is not operating) or between allowed
production limits MAKEMIN and MAKEMAX
• Can impose using a semi-continuous variable: may be zero, or any value between the
intermediate bound and the upper bound
• Mosel:
make is_semcont MAKEMIN
make <= MAKEMAX
MIP formulations using other entities c 2009 Fair Isaac Corporation. All rights reserved. page 15
18. MIP formulations
• BCL:
make = prob.newVar("make", XPRB_SC, 0, MAKEMAX);
make.setLim(MAKEMIN);
• Semi-continuous variables are slightly more efficient than the alternative binary variable
formulation that we saw before. But if you incur fixed costs on any non-zero activity, you
must use the binary variable formulation (see Section 2.10).
3.6 Partial integer variables
• In general, try to keep the upper bound on integer variables as small as possible. This
reduces the number of possible integer values, and so reduces the time to solve the problem.
• Sometimes this is not possible – a variable has a large upper bound and must take integer
values.
⇒ Try to use partial integer variables instead of integer variables with a very large upper
bound: takes integer values for small values, where it is important to be precise, but takes
real values for larger values, where it is OK to round the value afterwards.
• For example, it may be important to clarify whether the value is 0, 1, 2, ..., 10, but above 10
it is OK to get a real value and round it.
• Mosel:
x is_partint 10 ! x is integer valued from 0 to 10
x <= 20 ! x takes real values from 10 to 20
• BCL:
x = prob.newVar("x", XPRB_PI, 0, 20);
x.setLim(10);
4 Indicator constraints
Indicator constraints
• associate a binary variable b with a linear constraint C
• model an implication:
’if b = 1 then C’, in symbols: b → C, or
’if b = 0 then C’, in symbols: ¯b → C
(the constraint C is active only if the condition is true)
• use indicator constraints for the composition of logic expressions
Indicator constraints in Mosel: for the definition of indicator constraints (function indicator of
module mmxprs) you need a binary variable (type mpvar) and a linear inequality constraint (type
linctr). You also have to specify the type of the implication (1 for b → C and -1 for ¯b → C). The
subroutine indicator returns a new constraint of type logctr that can be used in the
composition of other logic expressions (see Section 4.2 below).
Indicator constraints c 2009 Fair Isaac Corporation. All rights reserved. page 16
19. MIP formulations
uses "mmxprs"
declarations
R=1..10
C: array(range) of linctr
L: array(range) of logctr
x: array(R) of mpvar
b: array(R) of mpvar
end-declarations
forall(i in R) b(i) is_binary ! Variables for indicator constraints
C(2):= x(2)<=5
! Define 2 indicator constraints
L(1):= indicator(1, b(1), x(1)+x(2)>=12) ! b(1)=1 -> x(1)+x(2)>=12
indicator(-1, b(2), C(2)) ! b(2)=0 -> x(2)<=5
C(2):=0 ! Delete auxiliary constraint definition
Indicator constraints in BCL: an indicator constraint is defined by associating a binary decision
variable (XPRBvar) and an integer flag (1 for b → C and -1 for ¯b → C) with a linear inequality or
range constraint (XPRBctr). By defining an indicator constraint (function XPRBsetindicator or
method XPRBctr.setIndicator() depending on the host language) the type of the constraint
itself gets changed; it can be reset to ’standard constraint’ by calling the setIndicator function
with flag value 0.
XPRBprob prob("testind");
XPRBvar x[N], b[N];
XPRBctr IndCtr[N];
int i;
// Create the decision variables
for(i=0;i<N;i++) x[i] = prob.newVar("x", XPRB_PL); // Continuous variables
for(i=0;i<N;i++) b[i] = prob.newVar("b", XPRB_BV); // Indicator variables
// Define 2 linear inequality constraints
IndCtr[0] = prob.newCtr("L1", x[0]+x[1]>=12);
IndCtr[1] = prob.newCtr("L2", x[1]<=5);
// Turn the 2 constraints into indicator constraints
IndCtr[0].setIndicator(1, b[0]); // b(0)=1 -> x(0)+x(1)>=12
IndCtr[1].setIndicator(-1, b[1]); // b(1)=0 -> x(1)<=5
4.1 Inverse implication
b ← ax ≥ b
• Model as
¯b → ax ≤ b − m
where m is a sufficiently small value (slightly larger than the feasibility tolerance)
b ← ax ≤ b
• Model as
¯b → ax ≥ b + m
Indicator constraints c 2009 Fair Isaac Corporation. All rights reserved. page 17
20. MIP formulations
b ← ax = b
• Model as
¯b → b1 + b2 = 1
b1 → ax ≥ b + m
b2 → ax ≤ b − m
4.2 Logic constructs
Mosel provides the type logctr for defining and working with logic constraints in MIP models.
The implementation of these constraints is based on indicator constraints. Logic constraints are
composed with linear constraints using the operations and, or, xor, implies, and not as shown
in the following example. Mosel models using logic constraints must include the package advmod
instead of the Optimizer library mmxprs.
uses "advmod"
! **** ’implies’, ’not’, and ’and’ ****
declarations
R = 1..3
C: array(range) of linctr
x: array(R) of mpvar
end-declarations
C(1):= x(1)>=10
C(2):= x(2)<=5
C(3):= x(1)+x(2)>=12
implies(C(1), C(3) and not C(2))
forall(j in 1..3) C(j):=0 ! Delete the auxiliary constraints
! Same as:
implies(x(1)>=10, x(1)+x(2)>=12 and not x(2)<=5)
! **** ’or’ and ’xor’ ****
declarations
p: array(1..6) of mpvar
end-declarations
forall(i in 1..6) p(i) is_binary
! Choose at least one of projects 1,2,3 (option A)
! or at least two of projects 2,4,5,6 (option B)
p(1) + p(2) + x(3) >= 1 or p(2) + p(4) + p(5) + p(6) >= 2
! Choose either option A or option B, but not both
xor(p(1) + p(2) + p(3) >= 1, x(2) + p(4) + p(5) + p(6) >= 2)
These logic constructs, particularly the logic or, can be used for the formulation of minimum or
maximum values of a set of variables and also for absolute values:
• Minimum values: y = min{x1, x2, . . . , xn} for continuous variables x1, . . . , xn
– Logic formulation:
y ≤ xi∀i = 1, . . . , n
y ≥ x1 or . . . or y ≥ xn
Indicator constraints c 2009 Fair Isaac Corporation. All rights reserved. page 18
21. MIP formulations
• Maximum values: y = max{x1, x2, . . . , xn} for continuous variables x1, . . . , xn
– Logic formulation:
y ≥ xi ∀i = 1, . . . , n
y ≤ x1 or . . . or y ≤ xn
• Absolute values: y = |x1 − x2| for two variables x1, x2
– Modeling y = |x1 − x2| is equivalent to y = max{x1 − x2, x2 − x1}
– Logic formulation:
y ≥ x1 − x2
y ≥ x2 − x1
y ≤ x1 − x2 or y ≤ x2 − x1
• Example implementation with Mosel:
declarations
x: array(1..2) of mpvar
y, u, v: mpvar
C1, C2: linctr
C3: logctr
end-declarations
! Formulation of y = min{x(1), x(2)}
C1:= y <= x(1)
C2:= y <= x(2)
C3:= y >= x(1) or y >= x(2)
! Formulation of u = max{x(1), x(2)}
C1:= u >= x(1)
C2:= u >= x(2)
C3:= u <= x(1) or u <= x(2)
! Formulation of v = |x(1) - x(2)|
C1:= v >= x(1) - x(2)
C2:= v >= x(2) - x(1)
C3:= v <= x(1) - x(2) or v <= x(2) - x(1)
Indicator constraints c 2009 Fair Isaac Corporation. All rights reserved. page 19