459 Cloud calculations within the optional course Optimization Problems for 10th-11th graders Iryna V. Lovianova1[0000-0003-3186-2837], Dmytro Ye. Bobyliev1[0000-0003-1807-4844] and Aleksandr D. Uchitel2[0000-0002-9969-0149] 1 Kryvyi Rih State Pedagogical University, 54, Gagarina Ave., Kryvyi Rih, 50086, Ukraine lirihka22@gmail.com, dmytrobobyliev@gmail.com 2 Kryvyi Rih Metallurgical Institute of the National Metallurgical Academy of Ukraine, 5, Stepana Tilhy Str., Kryvyi Rih, 50006, Ukraine o.d.uchitel@i.ua Abstract. The article deals with the problem of introducing cloud calculations into 10th-11th graders’ training to solve optimization problems in the context of the STEM-education concept. After analyzing existing programmes of optional courses on optimization problems, the programme of the optional course Optimization Problems has been developed and substantiated implying solution of problems by the cloud environment CoCalc. It is a routine calculating operation and not a mathematical model that is accentuated in the programme. It allows considering more problems which are close to reality without adapting the material while training 10th-11th graders. Besides, the mathematical apparatus of the course which is partially known to students as the knowledge acquired from such mathematics sections as the theory of probability, mathematical statistics, mathematical analysis and linear algebra is enough to master the suggested course. The developed course deals with a whole class of problems of conventional optimization which vary greatly. They can be associated with designing devices and technological processes, distributing limited resources and planning business functioning as well as with everyday problems of people. Devices, processes and situations to which a model of optimization problem is applied are called optimization problems. Optimization methods enable optimal solutions for mathematical models. The developed course is noted for building mathematical models and defining a method to be applied to finding an efficient solution. Keywords: optimization problem, cloud calculation, CoCalc. 1 Introduction 1.1 Problem statement and its topicality substantiation Modern society is evolving fast. The character of current changes is conditioned, first of all, by rapid informatization of people’s life. The scientific-technical and informational advance of the 20th-21st centuries has caused transition from the industrial society to the informational one. These changes are going on. Experts predict the so- ___________________ Copyright © 2019 for this paper by its authors. Use permitted under Creative Commons License Attribution 4.0 International (CC BY 4.0). 460 called smart society appearing in the nearest decade. Rapid paces of life dictate their terms of success to people. A person has to be able to make his/her activity and surrounding processes efficient in terms of time expenditures for study, work and transport losses. The problems of optimizing control over a small group of classmates working on a project or managing a business, etc. should also be solved. 1.2 Analysis of the latest researches and publications Development of optional and selective courses with the inter-subject integral content is one of the most urgent issues of subject-oriented instruction of senior school students. These courses allow students, on the one hand, to better visualize prospects of a chosen future profession, on the other hand, – to satisfy their educational needs to the fullest. It is worth noting that in solving optimization problems, the notion of an optimization problem model is as important as that of an optimization problem. Correspondingly, a target function is a mathematical function to be optimized in a problem, while limitation is a set of requirements to problem parameters in the form of equations or inequalities. If the target function is linear and linear limitations are imposed on its arguments, a corresponding optimization problem refers to the problem class of linear programming. From the practical point of view, optimization problem solution means that a person in his/her activity aimed at achieving a set goal always strives for the best or the most efficient ways of action if there is an opportunity to choose out of an endless variety of methods the one that helps to achieve it. Ways of action or strategies are often characterized by a value. In this case, the problem of choosing the best strategy implies finding an extremum – the minimum or the maximum of this value. It is also important to admit that the mathematical apparatus of optimization problem solution is used not only as a tool of ordinary calculation. It is also essential for decision making while choosing the most efficient variant to achieve the best result. It is essential to accentuate the importance of optimization problem solution aimed at demonstrating applicability of inter-subject connections between mathematics and other subjects. It should be noted that complex optimization problems associated with long calculations should be solved professionally, while 10th-11th graders are able to deal with less complicated ones. Such problems include those of the external ballistics theory (determining the maximum missile range, building a safety parabola equation), optimization problems in studying the topic Percentage, etc. Thus, optional courses dealing with optimization problems allow showing 10th-11th graders how to formalize decision making problems, solve them by applying mathematical tools and how to apply obtained solutions to practice. At present, there are not so many authors’ optional courses dealing with optimization problems. Yet, the available ones do not accentuate application of information technologies to providing instruction which is a sign of meeting modern requirements to training organization under the STEM concept. Some researchers [2; 4; 5; 6; 7; 9; 10; 11] think that CoCalc can be one of software tools to be applicable to solving optimization problems. 461 1.3 Research methods Research methods include theoretical analysis and synthesis of data from research and scientific-pedagogical literature concerning the research problem, analysis of regulatory and legal documents in education that regulate optional courses, investigation into training programmes, teaching aids, programmes of standard and optional courses for 10th-11th graders in similar subjects. 2 Inside the optional course Optimization Problems The STEM-concept in education is aimed at forming students’ basic ideas of understanding unity of informational principles of building and functioning of various systems and management processes in nature, engineering and society. Considering these postulates, we have developed the course Optimization Problems. Its relevance is explained by rapid updating of science-intensive technologies calling for highly-qualified specialists of a new type – active, creative, able to enrich their knowledge on elaborating and mastering new generations of machines and industrial processes. According to the competence-oriented approach, there appears a necessity for new interpretation of subject instruction and new conditions of incorporating instruction into formation of students’ competences. Therefore, it is required to find critically new characteristics of subject instruction. New educational standards aimed at self-development, self-identity and self-realization make educators look for new approaches and forms of training organization as well as new content of traditional training forms. In view of this, principles of training organization are changing. Out- of-class forms of training are prioritized, while principles of independent work organization are becoming more extensive. Independent work is a cognitive activity associated not only with knowledge acquisition, but also with practical experience in the context of competences. The developed course considers the whole class of conventional optimization problems that vary in their content. They can be associated with designing devices and technological processes, distributing limited resources and planning business functioning as well as with everyday problems of people. Devices, processes and situations to which a model of optimization problem is applied are called optimization objects. Optimization methods enable optimal solutions to mathematical models. The developed course is noted for building mathematical models and defining the method to be applied to finding an efficient solution. The specific feature of the suggested course is simple presentation of the training material based on concrete examples and problems. Studying linear programming by applying mathematical materials and solving optimization problems which are understandable for senior school students is of particular interest in this course. In this case, optimization problems are treated as those reduced to finding the maximum or the minimum value. These problems are also called extremal ones as finding the maximum and the minimum value is neither more nor less than finding an extremum – the maximum or the minimum of a function. 462 While solving such problems, scientific thinking and the ability to see a situation as a whole are formed. Cognitive interests and abilities to find a way out of critical situations with minimum losses are also developed. It is evident that an employee possessing these qualities is much more valuable for society. Basic principles of optimization problem solution by using computer technologies can be taught at Informatics classes with enhanced mathematics study as they require fundamental mathematical training. As the range of topics is very wide, it is reasonable to treat solving even one of them as a project. Let us look into some variants of projects to be proposed to students within the optional course Optimization Problems. First, students should be provided with basic algorithms in CoCalc [4; 8]. While doing a project, students get acquainted with methods of optimization problem solution. One should accentuate the recommendations for improving functioning of a process to be simulated while discussing project results. There are several stages in teaching optimization problem solution. Optimization problem 1. Any port in a storm [1]: there is significant danger to boats caught out in the open sea during a storm. Ideally, boats will dock before the storm hits and wait it out. The map above shows 20 orange boats out at sea. With a storm approaching, each boat needs to be directed to one of three docks. Docks have a limited number of spaces available for boats (indicated by the rectangular spaces). Altogether, there are 20 boat spaces available. The boats are clustered into three areas and each area varies in distance to the docks (as indicated by the black arrows). All boats must be assigned to one space in a dock. Question: What is the minimum possible total distance traveled by all boats? More detailed information is presented in Fig. 1. Fig. 1. Figure to the Optimization problem 1 Students must build a mathematical model of the problem. To solve the problem we offer students the following code in CoCalc [8]: 463 A=matrix(QQ, [[…,…,…],[…,…,…]],[…,…,…]]); A m=A.nrows() #p n=A.ncols() #q isoptimal=0 isunbounded=0 XVar=[] TVar=[] for i in range(n-1): XVar.append('X'+`i+1`) for j in range(m-1): TVar.append('T'+`j+1`) p=-1 q=-1 isfeasible=1 problemfeasible=0 #Atemp=matrix(QQ, m,n) while (isoptimal==0 and isunbounded==0): isoptimal=1 isunbounded=1 isfeasible=1 problemfeasible=1 p=-1 q=-1 #checks to see if current position is feasible for i in range(m-1): if A[i,n-1]<0 and p<0: p=i isfeasible=0 isoptimal=0 isunbounded=0 #Checks to see if problem is feasible if isfeasible==0: problemfeasible=0 for k in range(n-1): if A[p,k]<0 and q<0: q=k problemfeasible=1 if problemfeasible==0: print('The problem has no feasible solutions') p q else: #checking last row to see if optimal (step 1), #it's optimal when all are negative for i in range(n-1): 464 if A[m-1,i]>0: isoptimal=0 if isoptimal==1 and isfeasible==1: print('This is optimal, ignore everything after this') #finding the right [p,q] to pivot on and will only # pivot if point is feasible if isoptimal!=1 and isfeasible==1: q=-1 #finding position q to pivot on for i in range(n-1): if A[m-1,i]>0 and q<0: q=i; q #checking column q to see if all negative (step 4) for k in range(m-1): #A[k,q] if A[k,q]>0: isunbounded=0 if isunbounded==1: print('This is unbounded') p=-1 #finding position p to pivot on (step 5) for j in range(m-1): if A[j,q]!=0: if A[j,n-1]/A[j,q]>=0 and A[j,q]>0: if p<0: p=j; p if p>=0 and A[j,n-1]/A[j,q]