Multiple kids lesson schedule app. The problem of full automation in the preparation of the school schedule

Download to your phone so you don't forget anything and don't be late anywhere.

Android

time table

A beautiful and intuitive school life management app. You can enter the schedule, homework, exams and even holidays. The app can sync with all your Android devices, and will automatically go into silent mode during class.

School journal

In this electronic diary, you can keep a schedule, indicating the name and phone number of the teacher, as well as the location of the lesson. In order not to forget anything, the application has widgets on the main screen of the phone. It is also possible to take notes on subjects and put marks on them. But, perhaps, the most pleasant feature is the deletion of completed homework assignments.

light school

It allows you not only to keep a schedule and write down homework, but also track the time before the start or end of the lesson. Feature - the presence of theoretical materials. If you suddenly forgot how to find the sine of an angle, you can look right in the application.

To-do list

Not very colorful, but multifunctional application. In it, you can create a schedule and export it to the calendar on the device. You can view the schedule of classes for a week or several at once and display a widget with reminders on the main screen. During the lesson, the application automatically turns on the silent mode, and you can set deadlines for homework.

Schedule - school planner

The essence of the application: one user publishes the schedule of his school so that his classmates can then find a ready-made class schedule. Comfortable! Too bad there aren't many people using the service. But there is a widget and a QR code scanner.

iOS

iSchool

Allows you to create a beautiful multi-colored schedule indicating the classrooms where classes will be held. It is convenient to write down tasks: you can simply take a picture of the board or dictate with your voice. And one more super-useful feature: you can enter grades for subjects and calculate the average score. The application supports the Russian language, synchronization with iCloud works.

iStudiezpro

Allows you to create a schedule with recurring lessons. Each item can be assigned its own color - so in the future it will be easier to navigate the schedule. You can add holidays and weekends to the calendar, as well as save useful information about classmates and teachers.

Class Timetable

Rainbow planner for students. The standard set of features includes a schedule with reminders and a list of homework assignments. But there is also interesting feature A: The app works not only on iPhone and iPad, but also on Apple Watch. It is convenient if, in addition to studying, there is also sport sections and you have to be successful everywhere.

Grade Hound

Calendar for schoolchildren and students with the ability to mark items by color and put down grades for subjects. The highlight: time graphs showing how much time you spend on a particular item. Minus: does not support Russian.

Class Schedule – Timetable

Another helper for students who lack organization. You can create a class schedule with recurring or alternating weeks, share it with friends, and write down homework assignments. Thanks to a handy widget, you don't even need to unlock your device to quickly check your schedule.

Foxford timetable

The class schedule of classes at the Foxford Home School and external studies is on the website in the "Educational Process" section.

Select your class and click "Details". You will see on what day of the week and what time this or that lesson takes place and you will be able to add a schedule to your electronic scheduler.

Also at the beginning school year students receive timetables in the form of convenient pdf-tables.

All homework assignments are stored in the Student's Personal Account. All you have to do is select a course and class number.

The dashboard will remind you about new and already completed tasks. From it you can go to the task with one click.

Well, if the student forgets about some lesson or homework, he will be immediately reminded of this. More reliable than any application! :)

annotation

This article introduces the reader to a unique, recently appeared algorithm for compiling school schedule. The results of testing the only program in the world that can not create, but create such a schedule in a fully automatic mode are reported. Based on the results of tens of millions of tests (built school schedules), the myth about the impossibility of compiling a school schedule without human participation is debunked. Predictions are made for the further development of this software tool. The SaaS business model of its use is discussed. To understand the main content of the article, no special mathematical background is required, so the article is addressed to a wide range of interested readers.

1. Introduction

Per last decade in the Russian Federation, at least a dozen dissertations were defended on topics related to the task of compiling study schedules. Over the previous, before this, decade, the number of defended dissertations was no less. Although dissertations are mostly defended for the title of candidate of technical sciences and the tasks of scheduling classes for a higher educational institution are considered, nevertheless given fact indicates that more and more researchers are paying attention to the tasks of compiling the school schedule. Perhaps this stream of work is connected with the constant progress and universal availability of computing technology. Truly amazing processes are taking place before our very eyes. Some twenty-five years ago, only a large, usually defense, enterprise could afford to buy such an electronic computer as the EC1066. Such a computer was located in a room with an area of ​​​​up to several hundred square meters equipped with a powerful uninterruptible power supply system and a microclimate support system. Such electronic computers were primarily intended for solving unique scientific and technical problems that affect the country's defense capability. Today, many people have personal computers on their desks at home. But just think about it. The RAM of such a personal computer is 125 - 250 times larger than that of the giant mentioned above. The speed is higher, more than 1000 times. And this is not a typo. More than a thousand times.

2 Generations of Timetable Software

The first publications on the use of computer technology to automate the scheduling of classes appeared in the early 60s. previous century Thus, the task of compiling a study schedule with the help of computer technology has a fairly long history. For almost 50 years of intensive research, a huge intellectual work of thousands of specialists around the world has been carried out. However, the task of building study schedules, both before and now, is still a tough nut to crack. It is not at all surprising that programs for compiling a school schedule appeared and improved with the development of computer technology. Therefore, let us turn (naturally in a telegraph style) to very conditional periods of this development. Without going too much into historical research and without the risk of making a big mistake, the appearance of a computer (electronic computer - COMPUTER) is possible by 1945. This appearance (again, without risking a big mistake) can be attributed to the need for military computing. One of the first tasks that were solved on the first computers was the task of compiling ballistic tables for artillery and aviation. Not the last role in the needs of the military was played by the task of studying the atomic and thermonuclear explosion. Due to the above reasons, the very fact of the existence of a computer and the principles of its operation at first remained classified. It took about ten years to bring information about the "tactical and technical characteristics" of the first computers to a wide range of narrow specialists - mathematicians involved in numerical methods. The result was not long in coming. Since 1955 there has been an explosive growth of such an industry scientific knowledge like applied mathematics. Hundreds and thousands of practically important problems have become the subject of research by mathematicians using electronic computers, which has led to the development of completely new numerical methods for solving these problems. For the reason that the cost of computers was completely incomparable with the economic effect that they could bring to a civilian industrial enterprise, the only users of this technology were the military and a very narrow circle of scientists. In other words, those people who did not know the words - expensive, costs or phrases - the economic effect. But time passed. Technologies for the production and design of computer technology have developed at a rapid pace. As a result, the performance of computers grew by leaps and bounds, and their cost was rapidly declining. Prices for computers from astronomical steadily approached the earth (albeit still transcendental). By 1965, the circle of scientists who had access to computer technology had grown quite noticeably. By this time (the beginning of the sixties), as noted above, the first publications on the topic of compiling a school schedule on large computers date back. It is quite natural that the work at first had a staged character, and later a theoretical one. It took about fifteen years to come up with everything that could be easily invented in relation to the task of compiling a school schedule. This period (from 1965 to 1980) causes sharp mixed feelings. On the one hand, beautiful and original mathematical models of the problem of compiling a school schedule (vertex coloring of graphs, edge coloring of graphs) were proposed, and on the other hand, these models should undoubtedly be attributed to a very simplified version of the problem. In other words, the problem was not completely solved and was not even formulated in detail. Moreover, in 1976, the work of Israeli mathematicians appeared where, in their opinion, the fundamental difficulty of solving the problem of compiling a school schedule was proved. So, by 1980, despite the fact that the performance of computers was constantly increasing and their cost was constantly decreasing, as a result of which civilian industrial enterprises had already moved into the category of active users of computer technology, our task still remained not completely solved, and computer technology for the main user - schools, remained unavailable. Here, perhaps, the first generation programs for scheduling classes could be attributed to this period. Due to the two reasons mentioned above (the intractability of the task and the inaccessibility of computer technology for the end user), interest in automatic scheduling of classes has noticeably weakened (and maybe even completely faded). Higher education institutions using this software have taken a turn from actually scheduling classes to recording and monitoring student progress. We emphasize once again that the overwhelming majority of school administrations did not even know about the existence of such programs. However, by this time (naturally abroad) among some "egg-headed" students there is a fashion for designers from radio components. The era of personal computers dawned. Fashion turned out to be very sticky and the circle of "eggheads" was steadily expanding. It is very likely that designers from radio components would have remained the lot of a handful of "not normal" if the largest manufacturer of typewriters at that time, and for one of the most common computers at that time, the American corporation IBM, approximately in 1985, perspicaciously did not I would not have realized that these designers, if they were given the shape of a typewriter, could replace these typewriters. And not just to replace, but to make a super-intelligent typewriter out of a typewriter, competing with "lead technologies" in publishing. Of course, at that time, no one, except perhaps the most perspicacious, could have imagined that designers from radio components would ever be able to compete with real computing devices. However, the die was cast and mass production of typewriter killers began. Not long in coming, the ideas of production were first “two in one” (a typewriter plus a businessman’s assistant - a spreadsheet), then “three in one” (plus an accounting program), then “four in one”, and so on, and so on, and so on. Yesterday's students by monotony magic wand began to turn into billionaires, and the former designers from radio components began to look more and more like real electronic computers. The respectful abbreviation "Pi-Ci" (PC) entered the technical and business language, which meant a personal computer, and already in the early 90s of the XX century, no one had any doubts that they had not a toy, but a completely real one on their table. electronic computer. The opposite trends - the explosive growth in the productivity of former toys, on the one hand, and the rapid fall in their prices, on the other hand, have taken their toll. In some advanced schools, on the table of the leaders, by today's standards, healthy monitors appeared, which, like a living reproach, yelled: - "Fill me with the necessary software." It is not surprising that the seemingly completely forgotten idea of ​​scheduling training sessions came to mind. Thousands of easy money lovers rushed to write programs for schools, guaranteeing the complete automation of everything that comes to hand. This period, perhaps, includes second-generation programs that automate the process of compiling school schedules. In the 1990s, the personal computer industry experienced incredible growth. The productivity of personal computers doubled almost every year and every year brought innovative software products. The soles of those working in this area were torn on their shoes. And the programs for compiling school timetables somehow didn’t want to work properly ... Now, of course, it’s hard to say whether or not the manufacturers of programs for compiling school schedules knew about the legacy that their predecessors left them in the 1965-1980s of the last century and about the warning of Israeli mathematicians in 1976 that this problem is difficult to solve, but the fact remains that the administration of educational institutions was slowly decommissioning the good old typewriters, replacing them with personal computers. The schedule, as before, with few exceptions, was drawn up manually. By the beginning of the 21st century, along with the final dominance of operating systems with a graphical user interface, comes the end of the second generation of school timetable programs that used the pseudo-graphical interface of the bygone MS-DOS operating system. The personal computer industry has successfully stopped its rapid development and moved on to the notorious "stability". Personal computing technology had overcome the performance limit of large computers in the mid-80s of the last century, everything was ready for the development of third-generation programs. Indeed, at the very end of the last century, a large number of manufacturers, once again, but already, as it seemed to them, at a new technical and technological level, took up the development of school timetable programs. Against the background of the cessation of a noticeable (albeit smooth) increase in the productivity of personal computers, the stabilization of ideas in the field of software, programs developed that could be attributed to third-generation programs. The main feature of these programs, it seems to us, is that they could be developed taking into account both errors and original discoveries of their predecessors. Here, first of all, we mean the developers of the nineties. With the mathematical results of the sixties, seventies and eighties, things are simpler. If you know about them, then you use them, if you don’t know, then “invent a bicycle for a new one.” Another feature is that these programs were developed using a new at that time - a graphical user interface. There is no doubt that the GUI provides the developer with fundamentally great opportunities compared with pseudographic (text). But in this, at the same time, lies the danger. If we start comparing school timetable programs available on the market (in use), we will find an absolutely amazing variety of ways to generate (input) the initial data necessary for the calculation, although from a mathematical point of view, all programs do (or at least should do) exactly the same. Thus, the quality of school timetable programs began to be significantly influenced by the consistency and convenience of the user interface. Today (2013) it is worth noting that, compared with the programs of the nineties, the programs of the third generation (zero) have become very “wiser”. Optimism among developers has noticeably diminished. To promise full automation of everything that came to hand, no one (or almost no one) is taken. Many of the projects started at the end of the nineties have now ceased to exist due to their lack of demand. Others continue to develop and improve. Still others have stagnated in their development over the past ten years. But as noted earlier, it is too early to talk about the final and irreversible solution to the problem of compiling a school schedule today.

3 Are such programs necessary?

Usually, speaking about the benefits (necessity) of using a program for automated scheduling, they indicate such a factor as - an order of magnitude reduction in the labor costs (time) of the head teacher when compiling the study schedule. It is often pointed out that better quality timetables can be obtained from a computer. Although this argument, given what has been said just below, is not without controversy. In our opinion, we should agree that the calculation of the schedule using a computer will allow, in addition to saving time and obtaining a better quality schedule, on the one hand, to exclude subjective assessments and personal sympathies of the head teacher in relation to the teacher (part of the teachers), when drawing up the schedule, in including when distributing the teaching load, and on the other hand, it will completely eliminate undeserved accusations against the head teacher from teachers, in such subjective assessments and sympathies, since it is obvious that the computer is “a person not interested” (the computer is “to blame” for everything) . Thus, the calculation of the distribution of the teaching load and the schedule on a computer can improve the psychological climate in the teaching staff (observe the principles of fairness and equality), just like the match referee improves the mood of the football team players after he plays the right of the first kick at the ball with the help of lots . In 2001, the Chronobus company conducted a survey of almost 1,000 Moscow schools on the need to create and implement the AWP (a) "Schedule". The results of the survey showed that all schools have a sincere desire to use such a program, but no one does. Moreover, the reason for the unanimous ignoring of such automation tools is not at all the lack of the necessary equipment or money, but the quality of the programs offered on the market. The phrase: - "If I were offered to increase my salary by one and a half times, because I use such a program for compiling a school schedule, then I would refuse this offer" was not uncommon. In other words, according to the head teachers, the timetable programs are negative cost software. Today, after twelve years from the moment of the above survey, potential users of curriculum programs - head teachers of schools, to such programs, to an even greater extent and not without thoroughly formed a persistent negative, and often even aggressive attitude. Misleading advertising about the imposed "information space of the school" forms the idea of ​​the authors of this space as scammers selling rotten goods. According to the head teachers of schools with a long work experience, practice shows that these programs can only be used as a tool for the initial arrangement of objects, followed by manual fine-tuning, as well as saving information and printing it out. After the automated distribution of objects (the program, as a rule, arranges from 40 to 70%), it is practically impossible to take into account hygiene requirements for the lesson schedule, since it is necessary not only to deliver the remaining unplaced objects, but also to significantly change (up to 60%) the automated placement of objects on the principle of "just to arrange." Experienced masters of their craft recommend that beginners, when scheduling training sessions, use a dozen or other tips proven by many years of experience and practice, while using, instead of a computer, lesson schedule table layouts from sheets of cardboard, colored paper, wide transparent adhesive tape, glue, pockets etc. And they are certainly right. Using a computer in the mode of a regular editor (like a text editor familiar to everyone) or using programs that lead the process of arranging classes into deadlock situations, when it is theoretically impossible to attach a single lesson to the schedule grid, can bring nothing but unjustified difficulties, inconvenience and anger. The expectation of users of such programs (head teachers) is beyond doubt. In their opinion, school timetable programs, after entering all the initial data, should, in a fully automatic mode, compile a schedule that is superior in quality to a manual schedule. The inadequacy of user expectations and the result obtained from such programs gives rise to an aggressive attitude of users to these programs and, together with them, to automators "pushing apart the information space of the school." It should be noted that the developers of programs for compiling school schedules in the course of "natural selection" were divided into three groups. The first group publicly defends the point of view that the problem of automatic calculation of the school timetable cannot be solved in principle. And so they "don't be stupid" don't even try to do it. And those who try, in their opinion, are complete ignoramuses. “We do not have a school timetable calculation program, but a school timetable editor. We do not build a schedule instead of a person, but help a person build a schedule on their own (manually),” they proudly declare. The second group of developers declares as a goal - the complete automation of the construction of the school schedule, but in their promotional materials and user manuals they are diplomatically silent about achieving the goal. “Our program can build a schedule in automatic mode, in manual mode and in mixed (semi-automatic) mode,” they state without deceiving users. The attention of potential users to the fact that a horse can drink water from the river, but cannot drink it, and the program can build a schedule in automatic mode, but cannot build it, these developers do not emphasize. In our opinion, this is a very balanced and worthy position, which, despite a little trick, can only arouse respect. Or, at least, does not cause an aggressive attitude towards developers on the part of users. And finally, the third group of developers. “Enter the initial data, press the calculate button, and in a few minutes you are guaranteed to receive a schedule with the arrangement of all classes without exception. There are no restrictions on the dimension of the problem. At least 99 classes. At least 216 teachers. At least half of part-time workers. Let's divide the class into groups, at least up to 256 groups. Any restrictions for teachers and subjects. Each teacher chooses for himself the working days and hours that are convenient for him. No windows for teachers. Classes in subjects are held only during the hours allowed for these subjects. Strict observance of parallels. Each subject is assigned difficulty points. Accurate compliance with sanitary standards for the distribution of the total complexity of objects over time is guaranteed. - they say without hesitation. By the way, developers of the most helpless programs in terms of automatic scheduling and also sloppy-looking (although there is one that looks very attractive) go for such a simple move. Such programs in Microsoft aptly dubbed - food dog - "dog food". It is difficult to say what exactly motivates people who go to the direct and unsophisticated deception of consumers. This deception always becomes apparent the first time you type. curriculum schools in the program. Under Russian law, in accordance with Art. 179 of the Civil Code of the Russian Federation, transactions made under the influence of fraud can be declared invalid by the court, while the deceiver returns to the deceiver all the money received, reimburses the deceived real damage and, in addition, must transfer to the state the same amount that he received from the sale of the program.

4 A little about the complexity of the problem being solved

It is worth saying a few words about the complexity of solving the problem of compiling a school schedule. It seems to qualified users of a personal computer who believe in its omnipotence that the task of compiling a school schedule is not a little more difficult than the task of creating, for example, a high-quality video editor or sound editor. However, as mentioned earlier, the number of researchers who have studied this problem in one way or another is difficult to count. Among them are dozens of doctors of technical and physical and mathematical sciences, hundreds of candidates of sciences, not only technical, but also physical and mathematical, not to mention thousands of ordinary lovers of mathematical puzzles, which certainly include a large army of students of technical and physical and mathematical education. Among the researchers of the task of compiling a school schedule, one can also mention two academicians - V.S. Tanaev and V.S. Mikhalevich, one could also name foreign scientists with a worldwide reputation. In addition to scientists, prominent businessmen did not ignore the task of compiling a school schedule. And yet, despite, without exaggeration, the titanic efforts of researchers, it is not necessary to talk about a complete and comprehensive (or at least satisfactory) solution to the problem of compiling a study schedule. As a confirmation of what has been said, we will quote a well-known Russian mathematician. ... Since the task of scheduling is well known to everyone in school life, then in each course there is one or more students who are overwhelmed by the idea of ​​algorithmizing the scheduling of classes. So I have to warn you that this is a very difficult task. ... There is a special science - scheduling theory, which studies and systematizes problems of this kind, as well as various approximate methods for solving them (there is almost no hope for exact methods). Special place among them are heuristic methods, in which attempts are made to describe the logic and technique of the dispatcher's actions. ... One observation is interesting. But first, let's give one more quote. The four-color hypothesis can rightly be called the "four-color disease" because it is similar to a disease in many ways. She is in the highest degree contagious. Sometimes it proceeds relatively easily, but in some cases it becomes protracted or even threatening. There are no vaccinations against her; however, people with a fairly healthy body after a short outbreak acquire lifelong immunity. A person can get sick with this disease several times, and it is sometimes accompanied by acute pain, but not a single lethal outcome has been recorded. There is at least one known case of transmission of the disease from father to son, so it may be hereditary. Here, an eminent American mathematician sneers at the old coloring problem political map in four colors, where countries that share a common border should be painted in different colors. It seems that everything he said can also be attributed to the task of compiling a school schedule. So, the author of these lines took it into his head, to the best of his ability, to trace the further career of people who defended a dissertation on the relevant topic. It would seem that "God himself" ordered the newly established scientist to turn his scientific achievements into money. That is, somehow bring your brainchild to the market, since almost always after defending a dissertation there remains a certain program or part automated system for scheduling classes. So - no. All cases of defending a dissertation on this topic known to the author end with one thing - after the defense, the dissertation quits this task and, as a rule, begins (or continues) a teaching career at a university. In other words, it acquires a life-long, stable immunity to the task of compiling a study schedule. Finishing the general discussion about the complexity of solving the problem of compiling a school schedule, we will refer to two more opinions. But first, let's pay attention to who expresses this opinion. It's no secret that some school teachers of computer science, in fits of didactic experiments, instruct schoolchildren as "homework" to develop a program for scheduling classes for their favorite school. Schoolchildren, of course, rolling up their sleeves enthusiastically take up the solution of this problem. As an exhaust from this idea on the Internet, you can find numerous arguments and theorizing about this above the specified contingent. What they don’t come up with and what opinions the pioneer Eras don’t express ... No less excitement this topic causes in people with technical education in an attempt to automate the activities of dispatchers of your favorite university. But these opinions, to put it mildly, are of little interest. Professional mathematicians, specialists in scheduling theory, speak out very rarely about the problem of scheduling. Therefore (or even more so) their opinion on this matter is very interesting. So. Sotskov Yury Nazarovich, Doctor of Phys.-Math. Sci., Professor, Chief Researcher of the Joint Institute for Informatics Problems of the National Academy of Sciences of Belarus, Minsk, one of the most prominent specialists in the field of scheduling theory, author of a number of monographs on scheduling theory. In his article, in particular, he writes: ... From a mathematical point of view, the task of constructing an optimal schedule of training sessions is quite difficult, since it belongs to the class of so-called NP-hard problems. ... This article shows how graph vertex coloring can be used to build a training schedule. ... ... The problem of coloring the vertices of a graph is NP-hard, and, therefore, its generalization, described in Sec. 2 is also an NP-hard problem. ... Further. Lazarev Alexander Alekseevich, Doctor of Phys.-Math. Sci., Professor, Chief Researcher, Institute of Management Problems. V.A. Trapeznikova RAS, Moscow, one of the most prominent specialists in the field of scheduling theory, the author of a number of monographs on scheduling theory. In his article, in particular, he writes: ... The study scheduling problem is a well-known combinatorial optimization problem "Compilation of temporary tables" (timetabling). Even finding a feasible schedule is a strong NP-hard problem. Therefore, when solving it, it is necessary to use mathematical methods for solving combinatorial optimization problems. ... In short: - "Drain the water, dry the oars, extinguish the light ..."

5 School Timetable Software Market

The market for scheduling software, which has evolved along with the market for any personal computer software, seems to be simply unique, or at least surprising, or at worst very strange. So what is its uniqueness or strangeness? Have you ever seen an ad like this: "Buy our vacuum cleaner that can't suck up dust." Or this: - "All the pans that we can offer you are full of holes." Or this: - "Our TV is unique - it never shows anything." And here is the advertisement: - "Buy our program for compiling a school schedule, which cannot create it, but it can do it," we had to see as much as we wanted. “Well, buy, buy, buy. Our program can also make a schedule. She will arrange almost all the classes for you, and the rest, somehow, by yourself. Getting out of a dead end, it's so interesting. Well, at least for 15 dollars. It's not a lot of money, we've worked so much ... ". So how much is a vacuum cleaner that doesn't suck up dust, a leaky pan, or a TV that never shows anything? Before answering this difficult question, let's try to estimate the number of potential buyers and compare it with the number of schools (head teachers) that have already made their purchase. Demographers found that about 16% of the population of developed countries are schoolchildren. It is this figure that is used in the construction of new schools in new development areas. Further, we will perform arithmetic calculations using the example of the Russian Federation (the motherland, after all). So, the population is approximately 140 million people. Thus, there are approximately 22 million schoolchildren. There are about 50 thousand schools. This means that the average number of students in a school is 440 people. But this is an average. It is known that over the past 60 - 70 years, schools for 1000 - 1400 students were considered standard projects for schools. Hence the conclusion - there is a huge number of schools with the number of students much less than our average figure - 440 people. Obviously, these are schools in rural areas or in very small cities. Hence, a stronger conclusion - a huge number of schools, programs for scheduling training sessions are not needed in principle. Of course, it is very difficult to estimate the number of schools that do not need such programs in principle. Nevertheless, having carefully looked at the ceiling, we will see a figure there - 70%. From which it follows that 30% of schools have a number of students from 500 or more, and a program that cannot draw up a school schedule, but can draw it up, would not hurt such schools. We get the final figure - 15 thousand schools. This, perhaps, is the potential market capacity for the Russian Federation. And what do we have for today in reality? The question is not simple. There are no reliable statistics. First of all, one program comes to mind, which for all schools in the Russian Federation was “free of charge”. The beginning of the development of this program dates back to 1998, and the end (the latest version) to 2003. In appearance, especially for its time, the program is certainly not bad. Compared to other similar programs, it has a very logical and thoughtful user interface. In our subjective opinion, the best user interface. However, although there is a Schedule button, the program is completely helpless in terms of automatic (without human intervention) scheduling. It is not able to solve even those simple subtasks that other programs can easily cope with. Judging by the reviews on the Internet, almost no one uses this program. So, we will consider it a "radiation background" that does not affect the overall market situation. Let's go further. Let's put this question. Are there programs on the market that can provide the head teacher with at least some help in scheduling? For example, many head teachers manually make a schedule in two stages. At the first stage, according to their expression: - "Deal with foreigners." In other words, make a schedule for teachers and classes when learning a foreign language. The second step is everything else. At least two programs on the market, with this, the first stage, cope with envy perfectly. Here you can also schedule the time of elective courses. At the same time, from 10 to 40 percent of classes are arranged. So, of course, there is some benefit from using a computer equipped with these programs. Moreover, one of these programs is very aggressively and persistently trying to complete the schedule. In some cases, albeit rare, she succeeds. The other, when completing the schedule, is absolutely helpless. So how many people today use software for scheduling training sessions in the Russian Federation? Some manufacturers of such software publish information about their customers on their websites. True, this information should be treated very carefully. As noted above, some manufacturers in the "fits of marketing" go to a very simple deception of potential customers. And yet, separating the wheat from the chaff, we get a figure - about 1,500 schools. That is about 10% of the potential market capacity. Therefore, 90% of potential customers are not yet loaded. Now let's turn our attention to the world market. As follows from the previous calculations, a very convenient way to calculate the number of potential customers is this method. We take the population of the country, discard four zeros, we get the number of potential customers. So let's do it. Europe - 500 million people. USA - 300 million people. Canada - 30 million people. Japan - 125 million people. Australia - 20 million people. Other the developed countries - 25 million people. Here it is - "Golden Billion". Drop four zeros. We get - 100 thousand potential customers. Now the question is: - "How many schools out of this golden billion use software for compiling a school schedule?" We apply the same methodology, separating the wheat from the chaff, as for the Russian Federation. We get a figure - about 30 thousand schools. Which is 30% of the market. At the same time, 70% are open to aggressive marketing (hilling). Now it remains to translate quantity into quality. That is, multiply the number of potential customers by the price of one software license. In other words, to estimate the capacity of the world market in US rubles. But for this you need to know the price of such a license. I wonder if the reader had to hold in his hands a thick book with something like this: - "The cost of software." And we had to. In fact, the formula is very simple. Software, no matter how complex and volume it may be, costs exactly as much as the client (user) pays for it. The clearest example of this is the Windows operating system from Microsoft. Probably few people thought about the fact that, in terms of the amount of work, talent, knowledge, etc., landing a man on the moon, compared to this operating system, is childish pranks. And yet, a hundred and fifty bucks a barrel, and you're a legal user. The only problem is that the number of potential customers - users of the operating system and the program for compiling the school schedule is not comparable, neither in the first nor in the second approximation. Hence the conclusion: - "Despite the fact that some ask for $ 15 for leaky pans, a program that could really solve most of the problems of head teachers should be expensive." It remains only to answer the question: - "What is expensive?" Of course, everyone has their own ideas about "Expensive". But probably, for a head teacher (or a similar position, if we are talking about the world market), his monthly salary is expensive. That is, from 1000 to 5000 US dollars. What actually, we observe, or at least previously observed, in reality. At first, these programs cost exactly that much on the world market. The fall in prices, it seems to us, happened precisely because of what was suddenly discovered - a leaky pan was bought for $ 5,000. And finally, multiplying the quantity by the price, we get the approximate capacity of the world market for school timetable software - from 100 to 500 million US dollars. That is, the market is no less money-intensive than, say, the market for various computer-aided design systems in industry and construction. And by the way, no less science-intensive.

6 "Ancient Egyptian" algorithm for solving the problem

In the spring of 2012, an archaeologist turned to fellow programmers with a strange request. From his words, when deciphering ancient Egyptian manuscripts, he came across a description of the algorithm for compiling a school schedule. The authorship of the algorithm was attributed to an Egyptian priestess named Anush. Actually, his request was to check on a modern computer whether this algorithm is really capable of building a school schedule. At first, his friends laughed at him. But having carefully read the strange records, they nevertheless decided to check them. So, we proceed to the description of the idea of ​​this algorithm, in fact, to a summary of the translation of an ancient manuscript. Let us preliminarily say that the very terminology of this algorithm and the organization of the ancient Egyptian school is of separate historical interest, but since this article is not intended for historians, we will present the algorithm in modern and familiar terminology for a person living now. The main difference between the ancient Egyptian algorithm (hereinafter we will omit the word ancient Egyptian) from modern approaches consists in the fact that the problem is divided into parts, or more precisely, into a number of sequentially solved problems, with each problem solved at the previous step being a constraint for the problem to be solved at the next step. In modern terminology, the method of decomposition of the problem being solved is applied. It should be noted that each of the problems that are sequentially solved in the course of the algorithm is not NP-hard (not solvable). This allows, with the help of a consistent solution of a series of easily solvable tasks, to solve the whole problem of drawing up a school schedule as a whole. On the first step you should choose the mode of operation of the educational institution, namely, determine how many days a week the school will work (5 or 6) and determine the number of lessons held per school day (7 or 6, respectively). You also need to set the number of classes taught in the school. Next, you need to put prohibitions on those hours for which lessons are not held. it last hours every school day. For the lower classes (in our terminology, this is starting from the 5th) there are more such prohibitions, for the middle classes there are fewer, and for the oldest (11th grades) these prohibitions are completely absent. Which complies with our sanitary standards. The table of prohibitions for conducting lessons, which will be further used throughout the entire algorithm, is memorized. On the second step a schedule for part-time workers is being built. It turned out that the ancient Egyptian educational institutions did not disdain the work of part-time workers. The main feature of this task is that part-time workers are allowed to declare in an ultimatum the days on which they will work. In addition, some part-time workers are allowed to refuse to work on the first lesson of all working days when they work. Apparently, these part-time workers were women and they could not come to school early. The problem is solved with the help of the prescribed coloring algorithm for the vertices of an ordinary graph. You can get acquainted with this mathematical model in detail with the help of the already mentioned article or with the help of numerous other journal articles, for example, [ , ], as well as by reading the books [ , ]. Further, for each lesson (class, teacher, time), using the algorithm for solving the assignment problem, a room is selected for conducting this lesson. The algorithm for solving the assignment problem is described in many modern textbooks, in particular, you can get acquainted with it from the book. The end of the second step is the operation to combine the table of prohibitions on conducting lessons, built in accordance with sanitary restrictions and the received schedule for part-time workers. Thus, we get a new table of prohibitions for conducting lessons, which will be one of the restrictions for the next step of the algorithm. Third step consists of solving the problem of conducting classes of students' choice (in our terminology of elective courses). A feature of this task is that a certain number of classes, at a certain academic hour, are combined into streams, in order to then go to their elective courses at that hour. The construction of the schedule will consist in the fact that each stream will be assigned a time at which elective courses will be held, but teachers will be appointed after the entire schedule has been finalized. That is, at this step, teachers are not assigned to conduct elective courses. When building a schedule, the rule is observed - for any stream on one academic day, no more than one academic hour can be assigned for conducting an elective course. In addition, another rule is observed - at any given time, elective courses for more than one stream cannot be scheduled. This rule (restriction) seems to be quite reasonable, since when conducting elective courses, the need for premises for conducting classes increases sharply. It was introduced precisely for the purpose that there would be no situation when several flows at the same time require a large amount of free space. Premises for conducting elective courses, at this step, as well as teachers are not selected, they will be selected together with teachers after the construction of the entire schedule. The algorithm for solving the problem of conducting elective courses is the algorithm for the prescribed coloring of the vertex of an ordinary graph, which we pointed out in the description of the previous step. A new table of prohibitions on conducting lessons is built in the same way as in the previous step. The resulting schedule is combined with the prohibition table. On the fourth step algorithm to build a schedule for lessons on learning a foreign language. A feature of this task is that the class can be divided into groups. Teachers cannot categorically state which days they will work. However, teachers with a small workload are guaranteed one or two days off, which they will be given. In the same way as in the second step of the algorithm, some teachers teaching foreign language, may require them to be released from lessons during the first hour of the working day when they work. The task of scheduling teachers/classes for learning a foreign language, just like in the second and third steps, is solved using the algorithm of the prescribed coloring of the vertices of an ordinary graph. In the same way as at the second step, with the help of the assignment algorithm for each lesson, or rather, for each group of students and their teacher, a room is selected for its conduction. The end of the fourth step, as well as the second and third, is the operation of combining the table of the prohibition on conducting lessons with the resulting schedule. Thus we get new version this table, which we will use in the sixth step. After the end of the 4th step of the algorithm, depending on the curriculum of the school, usually from 15% to 40% of the entire teaching load provided for by this plan is placed. On the fifth step the load determined by the curriculum is calculated for the premises that are in short supply for the school. Such premises, as a rule, are gyms, workshops for labor (technology) lessons, classrooms equipped with computers for informatics lessons. This calculation is carried out in order to maximize the possible load (minimum "downtime") of such premises. On the sixth step a schedule is built for all remaining subjects except those held in scarce premises. Teachers do not have the opportunity to state an ultimatum about which days they will work, but for those teachers who have a low workload, one or two days off are guaranteed, and for some teachers there is an opportunity to refuse to work in the first lesson. This problem is solved with the help of the prescribed coloring algorithm for the edges of a bipartite multigraph. You can get acquainted with the idea of ​​this algorithm from a book or from journal articles [ , , , , ]. The constructed schedule consists of fours - class, teacher, subject, time. At the same step, all quadruples, using the algorithm for solving the assignment problem, are compared with the premises where these classes will be held (quads). After the end of this step, the entire schedule grid is filled, with the exception of classes held in scarce premises. However, the remaining "holes" in the schedule, this is the schedule for conducting classes in scarce premises. Thus, we can assume that at this - the sixth step, in a sense, two schedules are simultaneously built - for ordinary teachers / classes and for scarce rooms / classes. On the seventh step classes are divided into groups according to subjects that will be held in scarce premises. As a rule, in such subjects as physical education, labor (technology), computer science, classes are divided into groups. If the set of teachers for whom the schedule was built in the previous step intersects with the set of teachers conducting classes in scarce premises, then a table is formed for the forbidden working hours of teachers, which are the intersection of these sets. Using the algorithm for solving the assignment problem, teachers are selected for each group. The last step is the eighth. At this step, all previously obtained schedules are combined, that is, the final schedule is formed. No algorithms are required to carry out this step, simple arithmetic operations are sufficient. After receiving the final schedule, each teacher can decide for himself when it will be convenient for him to conduct elective courses. The time for them was reserved at step 3 of the algorithm. And if this teacher can recruit a group of students for himself, then he will independently set his own elective course in the schedule, along with the room chosen by him. The general rule for all the previously described steps, except for the fifth one, is the rule that each class cannot have more than one lesson in any subject on the same day. Besides, general rule for teachers is that each teacher can conduct classes in several subjects, including one class.

7 Algorithm testing

As can be seen from the previous section, there is nothing difficult to understand in the work of the algorithm for constructing a school schedule. One after the other, interconnected, separate easily solvable (not NP-hard) problems are solved until all of them are exhausted. Nevertheless, there was no reason to assert with certainty that each of these tasks could be solved. In the absence of any theoretical justification for the algorithm, it was possible to test its performance only experimentally, especially since it was precisely such a task that was set by an archaeologist who stumbled upon an ancient manuscript and made its translation. It is quite natural that the first thought that came to the mind of programmers was to create a regular application for the Windows operating system. But what is a normal win application? Being activated (launched for execution), it waits for events from the user, for example, input of initial data. And how can these initial data be obtained, and later entered into the program? Thank God, or rather the United States, at the present time, a more or less self-respecting school has opened its website on the Internet and the first thing that appears on this site, not counting photos from various holiday events So this is the curriculum of the school. It remains only to copy it and enter it into the program as the initial data for calculating the schedule. Question. How much time is needed for this? The practice of using the school timetable programs currently offered by the market has shown that it takes from 8 to 10 hours, to put it mildly, painstaking work to enter the curriculum along with the formation of a table for the distribution of the teaching load. Suppose that this curriculum is introduced, and the table of distribution of the teaching load is formed, and lo and behold ..., the schedule is built. What does it say. Absolutely nothing. There is no guarantee that the next task will be solved. Now, if the schedule had not been built, then this would say a lot, namely, that the algorithm does not solve the problem. In other words, a normal win application is, in a sense, almost impossible to test. How to be? Again - thank God, or rather the glory of Microsoft, in modern versions The Windows operating system supports the so-called console application mode. By the way, for some young people this is a complete revelation, they have never seen black windows with lines of text running inside these windows. Indeed, this is the style of mainframe computers from the distant past and long gone from the scene - MS-DOS. But these windows have one advantage. They can hang on the computer screen, making the necessary calculations, without any human participation for a day, and a month, and ... I don’t presume to say how much. This is exactly what was required to test the algorithm. Further, the course of reasoning was as follows. Writing a generator of initial data (roughly speaking, the curriculum of a typical school and a table of distribution of the pedagogical load) will, of course, take some time, but, being written once, it will allow you to get an unlimited number of test tasks to test the algorithm, it will be enough only after solving the next task to transfer control to this generator to build a new (next) job. It will be possible to obtain statistically reliable data on the quality of the algorithm under test. For example, 80 percent of tasks are solved, but 20 percent are not, or vice versa. It is only necessary to make the number of tasks to be solved sufficiently large. This is exactly what was to be done - a console application, this was the way out of the situation. As they say, a fairy tale affects quickly, but the deed is not done quickly. To come up with a source data generator that adequately reflects all practical situations, even if it is a typical school, turned out to be not such an easy task. But one day, crazy dreams came true... sooner or later... how long the rope does not wind... The generator of initial data is finished, the ancient Egyptian algorithm is programmed, "all errors are fixed", traps for errors are placed, checks of calculation results are installed. At the beginning of the program, a small number of classes were offered for scheduling - from 9 to 14 (small school). Solutions popped up like a machine gun. With an increase in the number of classes - from 15 to 21 (high school), solutions were fired quickly, but not like a machine gun ... more like a pistol. Further. Here it is ... a big school, up to four classes in parallel, total classes from 22 to 28. The brakes obviously turned on ... The process began to resemble a lazy duck waddling from foot to foot. But one thing was pleasing - the line: "Number of unsolved problems =" constantly showed zero. It became clear. To obtain statistically reliable data confirming the possibility of solving any reasonable problem in a fully automatic mode, one computer is not enough. Small arithmetic calculations showed that in order to operate with numbers from six or more digits about the number of solved problems, at least a dozen computers are required. And for a dozen computers (you can estimate the amount of heat emitted from these computers and the constant noise emitted from the fans) requires a separate room. But nothing, you won't stop us... A dozen, not a dozen, but seven four-core computers were soon put into operation. As a result, after a year of "violent actions" of the ancient Egyptian algorithm in relation to the venerable four-core seven, and after tens of millions of solved problems, we can confidently state: be solved without human intervention in a fully automatic mode. At the same time, the total calculation time for 1000 tasks is approximately the following: for a group of tasks from 9 to 14 classes = 20 minutes, for a group of tasks from 15 to 21 classes = 40 minutes, for a group of tasks from 22 to 28 classes, the calculation time is from 6 to 8 hours, i.e. for this group, on average, about half a minute per task. Thus, more than a year's experiment to check (test) the algorithm for compiling a school schedule in a fully automatic mode, without the participation of a person, for which tens of millions of test tasks were solved, was successfully completed. For almost all test tasks (initial data), a schedule was completely constructed that satisfies all restrictions.

8 Logical model of future software

After completing the annual testing of the algorithm for compiling the school schedule, the question arose: - "And what's next?". First of all, it is striking that the console application will not be able to convince anyone that the task of compiling a school schedule is really being solved ... except, perhaps, the programmer who wrote this application. To create a black window, with lines like that appearing there from time to time: - "Number of solved problems = 12547564" Even a poorly performing fifth grader can do it. Thus, a normal person will simply not believe such a program, so to speak, and will do the right thing. You can't do without a full-fledged win-application. But, at first, it would not be bad to decide on the goals of creating such an application. There are at least two such goals in sight. This is the creation of full-fledged software with all the ensuing consequences, and the creation of an application that demonstrates the operation of the algorithm, which is better or worse able to convince a person that he is not being deceived. And the hedgehog understands that these two projects are simply not comparable in terms of labor intensity. Quite naturally, the decision was made to take the easy path. Good: - "What is required from such a win-application - a demonstration?". Before even you can put another question: - "What should it be?". Firstly. The headache about a convenient, understandable, practical and beautiful user interface is immediately removed. For such a demo, the most primitive interface is quite enough. The only important thing is that the user could see the initial data that are offered to the program for calculation (naturally generated randomly) and the results of this calculation. At least theoretically, the user will have the opportunity to check the correspondence between the initial data and the result obtained using the program. Is such a check difficult?... The answer is unequivocal: - "Yes, it's not simple ...". Especially if you know how many traps and checks are contained in the console application for constant verification of the results, as well as the code size of these checks and traps. Are there other ways of persuasion?... Except, perhaps, the transfer to all those interested ... of the source code of the program. But here, for example, this is not accepted in Microsoft. Secondly. The problem of the help file, the user manual, and other bows and bells and whistles that are absolutely necessary for full-fledged software is removed. And so they did. More than twenty buttons were stuck on the main form of the application, of which only one is active at each stage of the calculation, not counting the buttons of the type - About the program, Start new task, Shut me down. You click on such a button, a window appears with the Data Generation button. You press Generate data, the constructed data appears in the window on a white background. We close the window. The button that was just pressed goes out (ceases to be active), the next one that should be pressed becomes active. Click. The next window opens. And there is a button Build a schedule. Click on Build Schedule, the built schedule appears. Those who wish can check whether the schedule is built correctly or not. And so on until all the steps of the algorithm are completed. And then you can click on the big button Start a new task. And so in a circle. Or press the Close me button. At first glance, it may seem: - "This entire demonstration program is monkey work." But it's not. For at least three reasons. Firstly. During the development of the demonstration, a rather important task development of the future architecture of full-fledged software. Namely. It was necessary to severely separate the "brains" from the "torso". To put it more clearly, separate the code of the schedule calculation algorithm from the code of the source data generator and the user interface code. The entire code of the scheduling algorithm is located in the dynamic link library, so the user interface, as a client, can apply with tasks to the dynamic library, which acts as a server, to build various schedules compiled at various steps of the algorithm. This will allow in the future, without touching the code of the schedule calculation algorithm, to conduct experiments with various interface options until the users are completely and finally satisfied. Secondly. Despite its primitiveness, the demo user interface is a logical model of the future convenient, understandable, practical and beautiful user interface. For example, it implements the ability to return to the previous step of the algorithm, and this possibility, in turn, influenced the program data structure. In addition, the demo interface supports such a feature of the algorithm as moving from step to step in a strict sequence, which ensures data integrity and protection from incorrect changes. Thirdly. Again, we repeat, despite its primitiveness, the existing user interface is suitable for analyzing a mathematical model of practical situations that arise when compiling a school schedule adopted in this program. Such an analysis or examination could be carried out by specialists who are well acquainted with the topic, for example, head teachers with sufficient work experience who teach mathematics at school. To understand the details of the calculation, of course, their qualifications are not enough (and no one will have such a desire), but due to the general mathematical culture they have received, they can discern obvious omissions in the formulation of the problem much better than any professional mathematician who is familiar with the work of the school only by hearsay or by various kinds of publications. "And what's next?" And then the development of full-fledged software in accordance with all the laws and rules of software engineering, which now, in terms of complexity, does not exceed conventional software for ERP systems. Just don't ask: - "How long will it take and what is the complexity of developing such software? ...". And even more so, do not ask: - “How much will such a development cost? ...".

9 Business model issues

As previously estimated, the global market for school timetable software, in a fully automatic mode, is between 100 million and 500 million US dollars. However, this market, as venture investors put it, still needs to be “Raised”. And here, at least two problems emerge quite clearly. One problem is: - "Expensive". We have already stopped there. And the other, in our opinion more serious, is: - "The reputation of such software." If we resort to a metaphor, then the reputation of such software resembles a filthy, heavily manured and smoking, like after the battle on the Kulikovo field, a garbage dump. And the smoke is so caustic that you want to close your eyes and stop breathing. As mentioned earlier, when talking to potential clients of the school timetable software, this conversation easily turns to swearing. "We got... with our automation, the information space of the school and electronic diaries, let's work in peace...". What can be done to change the reputation of such software and the attitude of head teachers towards it from hostile to at least neutral? We do not stutter about a positive image yet. About ten years ago, it was still possible to say that computers in the offices of head teachers are for furniture, as an indispensable accessory of learning and progressiveness. That, at best, a computer is used instead of a typewriter (although, as noted earlier, it was precisely this circumstance that served as such a flourishing of the personal computer industry). At present, the situation has changed. Many have already tried ... We have just discussed the results of such tests. It remains to start from the beginning. Namely. From the business model of distribution of such programs. Even without looking closely, you can see that over the past 15 years, this business model has not changed much. Find the program's website, download the demo version, issue an invoice for payment... Everything seems to be clear with the invoice for payment. You can't do without a program website either. What about demos? But demos are different. Option one. Our demo version is no different from the working version of the program, only the entered data cannot be saved, and the results cannot be output to the printer. And so, everything works. Is it possible to evaluate all the advantages and disadvantages of the program using such a demo version? As noted earlier, to enter all the initial data, no matter how squeaky the advertisement is for an hour, a maximum of one and a half, it really takes at least 8-10 hours of continuous and painstaking (boring as hell) work. A normal person, and even more so a user who starts working with a program for the first time, when he needs to learn how to work with the program at the same time and accurately, without errors, enter a mountain of initial data, will not be able to do this at a time. It takes at least two, or even three days (times). Now imagine the beginner's fear that the power is about to go out or something will reboot. Well... a normal person would not want to use such a demo. So, either decide to buy a “pig in a poke”, knowing about the “marketing attacks” of some developers, or, which most often happens, press the Del key with bitterness for wasted time. In fairness, it should be noted that the same developers came up with another option. We made a “cracker” for our program. An unsuspecting, good-natured user, after disabling his conscience with a small key, downloads an illegal copy (dema + cracker). Installs, breaks, and... everything works... As they say, use it to your health... True, after about half a year, the program will announce to you that it is switching to demo mode, and to save your data, be so kind. .., contact the developer for an invoice... Looking from the outside at such tricks, this option seems - after all, more honest. Although, of course, the user is trying to deceive the manufacturer, the manufacturer is deceiving the user ... by the way, promising him that in a few minutes after entering all the initial data, he will receive a ready schedule. It is safe to say that the vast majority of users will never know that their data was exposed to a real threat. After spending 15 - 20 hours working with the program and convinced of its uselessness, with a cry: - "All programs, like men, are like that ...", potential buyers angrily delete this program from their computer. And after an hour - one and a half, having calmed down, having caught their breath, they say to themselves: - “What am I. .. still smart that she didn’t pay money for it ... , my mother told me - “Don’t take a pig in a poke.” Option two. Our demo version is no different from the working version, there is only one limitation, the maximum number of classes is five. And so, everything works. As a result, such a statement appears on the forum. “I saw your, if I may say so, program. And he introduced something, nothing at all - four classes. And she told me: - "I can not make a schedule." You can shove it in your... Damned profiteers.” Here we are faced with the case when the developers found their "... (head)" adventure. Those who think that it is much easier to make a schedule for a school with four classes than, for example, with twenty, are deeply mistaken. That is why, when testing the "Ancient Egyptian" scheduling algorithm, it was decided - when generating test data, for the minimum number of classes, choose the number - nine. This is due, at times, to the impossibility of automatically compiling a table of the distribution of the pedagogical load. Simply put, to distribute the load between a meager number of classes and, accordingly, a meager number of teachers. Apparently, only a very experienced hand (or eye, if you like) of a person can show such tricks. Option three. OK then. Use our program. But two weeks. And in two weeks everything, Sabbath. "Let's turn off the water..." Is it possible to master the program in two weeks and evaluate all its advantages and disadvantages? Hand on heart, let's say: - "Perhaps, what is possible ...". But on one condition. You need to stop doing everything else. And the head teacher's favorite word: - "Busy." "Oh, busy. So busy that I can’t breathe, I don’t have time ... ” Will the head teacher drop everything for two weeks and dive into a scheduling program for that period? As scientists say: - "It's hard to say ...". In short, everything is bad... And so bad, and so inconvenient... Where to look for a way out? Maybe a lease?

10 SaaS business model of software use

Initially, the entire computer industry used a rental business model - the first computers cost a lot of money and their computing power was rented out to customers. With the advent of the Internet, the old business model was revived, but on a fundamentally different technological basis. SaaS(English) software as a service - software as a service) - a business model for the sale and use of software, in which the supplier develops a web application and independently manages it, providing the customer with access to the software via the Internet.

The main difference between SaaS and old model is that earlier customers accessed computers directly, and not using global networks. Since the SaaS model is focused on providing services using the Internet, its development is directly related to the development of the global network. The first companies offering software as a service appeared in Western countries in 1997-1999, and the acronym SaaS came into wide use in 2001. It seems that in our "hard case", this business model is the most optimal, and maybe even the only acceptable one. It will save potential customers from risking a relatively large amount of money when paying for a software product from a group of products with an almost hopelessly damaged reputation. Using the rental business model, the customer will be able to calmly and gradually make sure that he really needs the proposed product, and that his expectations from using the product coincide with what he actually receives. About the expectations of head teachers from such programs, we have previously spoken in sufficient detail.

11 Instead of a conclusion

Sometimes, some sarcastically ask: - "Do you have a business plan?..." Yes. And yet, very simple. “Consistently address emerging issues as they arise…”. As a last resort, it will be possible to use the SaaS model (business plan - on demand). If someone needs it, it will be possible to plan everything in detail and in detail, not a single accountant will find fault!

Bibliography

Baltak S.V., Sotskov Yu.N. Building a schedule of training sessions based on the coloring of the graph veins // Informatika, 2006, no. 3, p. 58 - 69. Borodin O.V. Colorings and topological representations of graphs // Discrete Analysis and Operations Research. 1996, Volume 3, No. 4, p. 3 - 27. Borodin O.V. A generalization of Kotzig's theorem and a prescribed coloring of edges of planar graphs // Mathematical notes. 1990, Volume 48, Issue 6, p. 22 - 28. Vizing V.G. Graph vertex coloring under majority restrictions on the colors used // Discrete Analysis and Operations Research. 2009, Volume 16, No. 4, p. 21 - 30. Vizing V.G. On connected coloring of graphs in prescribed colors // Discrete Analysis and Operations Research. 1999, Series 1, Volume 6, No. 4, p. 36 - 43. Gafarov E.R., Lazarev A.A. Mathematical methods of optimization in the preparation of the study schedule // New Information Technology in education. Collection scientific papers. - M.: 1C-Publishing, 2013, Part 2, p. 51 - 55. Gary M., Johnson D. Computing machines and difficult tasks. - M.: Mir, 1982. - 416 p. Distel R. Graph Theory: Per. from English. - Novosibirsk: Publishing House of the Institute of Mathematics, 2002. - 336 p. Emelichev V.A., Melnikov A.I., Sarvanov V.I., Tyshkevich R.I. Lectures on graph theory. - M.: Science. Ch. ed. Phys.-Math. lit., 1990. - 384 p. Ichbana D., Knepper S. Bill Gates and the Creation of Microsoft. - Rostov-on-Don: Phoenix Publishing House, 1997. - 352 p. Karpov D.V. Dynamic regular colorings of graph vertices. // Notes of scientific seminars POMI. 2010, Volume 381, p. 47 - 77. Magomedov A.M., Magomedov T.A. Interval on one part regular edge 5-coloring of a bipartite graph // Applied Discrete Mathematics. 2011. No. 3(13), p. 85 - 91. Papadimitru H., Steiglitz K. Combinatorial optimization. Algorithms and complexity. Per. from English. - M.: Mir, 1985. - 512 p. Romanovsky I.V. Discrete analysis. Tutorial for students specializing in applied mathematics and computer science. - 2nd edition, corrected. - St. Petersburg: Nevsky dialect, 2000. - 240 p. Swami M., Thulasiraman K. Graphs, networks and algorithms: Per. from English. - M.: Mir, 1984. - 455 p. Smirnov V.V. Pererburg schools and school buildings. The history of school construction in St. Petersburg - Petrograd - Leningrad 1703 - 2003 - St. Petersburg: Publishing house "Russian-Baltic information center "BLITs"", 2003. - 144 p. Stetsenko O.P. On one type of coloring of graph edges into prescribed colors // Discrete Mathematics. 1997. Volume 9, issue 4, 92 - 93. Urnov V.A. Schedule - the most demanded workstation in education // Informatics and education. 2001, no. 4, p. 47 - 52. Harari F. Graph Theory. - M.: Mir, 1973. - 302 p. Even S., Itai A., Shamir A. On the complexity of timetable and multicommodity flow problems // SIAM J: Comput. Vol. 5, no. 4, December 1976, 691-703

Links:

Therefore, the entire floor where such a computer was located was covered with a fine metal mesh in order to exclude the possibility of "electronic peeping" from the sworn enemies of the Soviet regime. The very task of compiling a study schedule (without the help of computer technology) seems to be no less than three hundred years old. Cases have been recorded when the head teachers - in general, cultured and educated people, upon hearing the phrase: - “A program for compiling a school schedule” instantly switched to swearing. Here we will not dwell on the theory of NP-hard problems, since discussion of this issue would take the reader far away from the topic of interest to us, and would also be clearly premature and superficial. The interested reader, however, can be recommended to refer to perhaps the most cited publication in our country on this topic. For a complete understanding of this article, NP-hard problems can be understood as practically unsolvable problems, although this is not an entirely accurate "translation". This refers to Russian-language publications, which are not so numerous compared to English-language publications. Most likely, their number does not exceed the total contribution of the Russian Federation in the field of high technologies, which is estimated at 0.4 - 0.6% (from zero point four percent to zero point six percent) of the world. True, there are an order of magnitude fewer physical and mathematical sciences. Tanaev Vyacheslav Sergeevich (1940 - 2002) - Belarusian mathematician, director of the Research Institute "Cybernetics" of the National Academy of Sciences of the Republic of Belarus, Doctor of Physical and Mathematical Sciences (1978), professor (1980), full member of the National Academy of Sciences of Belarus (2000). Research interests: operations research, scheduling theory, optimization methods. Mikhalevich Vladimir Sergeevich (1930 - 1994) - Ukrainian mathematician and cybernetician, Academician of the Academy of Sciences of Ukraine, Academician of the Russian Academy of Sciences (1991; Academician of the USSR Academy of Sciences since 1984). Proceedings on the theory of optimal statistical solutions, system analysis, theoretical and economic cybernetics. State Prize of the USSR (1981). However, the transfer of the source data generator code and the code for checking the correctness of the compiled schedule is quite possible, since this code does not represent any commercial value. In honor of the ancient Egyptian priestess Anush, the program, in the Russian manner, was called - Annushka.

And even... maybe... But what! empty dream.
There won't be any.
Fate is envious, evil!
Oh, why am I not tobacco! ... A.S. Pushkin

File translated from T E X by T T H , version 4.03.
On 27 Jul 2013, 00:53.

There are eight main modifications of the program for various educational institutions:
. AVTOR School - for secondary schools, lyceums and gymnasiums;
. AVTOR College - for colleges, technical schools and vocational schools;
. AVTOR Art College - for schools of art and culture;
. AVTOR High School - for universities (full-time education);
. AVTOR High School Semestric - for universities (correspondence course);
. AVTOR M High School Semestric - for military universities;
. AVTOR Educational Centers - for training centers, Code of Criminal Procedure and IPK;
. AVTOR High Shool Pro - for universities with several remote educational buildings, taking into account the time of moving between them (full-time and part-time education, online version).

History of creation and development of the system.
. The first version of the AUTHOR-2 program (under MS DOS) was developed by RSU researcher Igor Gubenko in April 1993. The program was originally intended for scheduling in a multidisciplinary lyceum at the RSU with enhanced study of a foreign language, computer science and many special subjects (where classes are divided into 2-4 subgroups and can be combined into streams). Already the first version of the program made it possible to build correct schedules.
. Then the program was tested in several more schools in Rostov-on-Don. The experience of many head teachers and the specifics of the schedules of various schools were taken into account. The program has been significantly improved and implemented over 2 years in more than ten schools, lyceums and gymnasiums.
. By 1996, the author managed to develop a unique algorithm for automatic construction and optimization of schedules, which made it possible to significantly increase the power of the program. In the same year, the first version of AUTHOR-2 was released for colleges and for a small university.
. In 1997-98 the author develops and successfully implements the first version of the program for a large university with several educational buildings (RGUE "RINH").
. In 2000, the first WIN version of the AVTOR-2000 program was released for all types of educational institutions.
. In 2001, a version of the program was released with an interface in three languages: Russian, Ukrainian and English.
. In 2001, the first university version for absentee form learning.
. In 2002, a network version of the program for the university appeared with several jobs and a common database of audiences.
. In 2003, AVTOR-2003 was successfully integrated into a single package with the "Plany" PPP (SURSUES), which made it possible to automate the input of the database into the program and build a complete schedule for this university in 2 hours! There are 7 educational buildings in SURGUES (Shakhty), two of them are located far away. Previously, the same schedule was drawn up manually by two methodologists in 2-3 months.
. In 2004, a version of the AVTOR program for military universities was developed.
. In 2005, the AVTOR version was released for schools of culture and arts, as well as for training centers.


Clients.

Currently, the AVTOR program is successfully used by more than three hundred educational institutions in Russia, Ukraine, Belarus, the Baltic states and Kazakhstan. Among them: Don Real Gymnasium (secondary school No. 62), Classical Lyceum at the Russian State University, secondary school No. 104, No. 38, No. 67, No. 81, No. 52, No. 92, No. 27, No. 46, No. 69, No. on-Don), Secondary School No. 297, No. 1117 (Moscow), Secondary School No. 315, No. 17, Gymnasium of Oriental Languages ​​(Kyiv), Secondary School No. 44 (Zaporozhye), Tikhoretsk Railway Transport College, Beloyarsky Pedagogical College, Rostov Engineering College, RGEU "RINKh", IUBiP, SKAGS, RGASCM, RSSU (Rostov-on-Don), SURSUES (Shakhty), Timiryazev State Agrarian University (Moscow), Ministry of Internal Affairs of Russia (Moscow), Irkutsk State University, Institute of Foreign Languages ​​USPU, USU (Yekaterinburg), SSEU (Saratov), ​​as well as dozens of other schools, lyceums, gymnasiums, colleges and universities.

Specifications.
The running time of the program depends on the size of the educational institution and the power of the computer. Full calculation and optimization of the schedule of a medium-sized school with complex initial data (40 classes, 80 teachers, more than 10 part-time teachers, two shifts, lack of classrooms) takes about 2-3 minutes on a Celeron-2000 computer.

AUTOR allows you to:

    build a schedule without "ok"he"at classes (study groups);

    optimize in schedule"windows" of teachers;

    take into account the required range of days / hours for classes, for teachers and for classrooms;

    take into account the nature of the work and the wishes of both full-time employees and part-time employees;

    optimally place classes in classrooms (audiences), taking into account the characteristics of classes, subjects, teachers' priorities and classroom capacity;

    enter call schedule;

    installtransition time (reezda) between educational buildings;

    optimize the number of transitions from cabinet to cabt, and from body to body;

    it is easy to connect any classes (study groups) into streams when conducting any classes;

    separate classes ( study groups) when conducting classes in a foreign language, physical culture, labor, computer science (and any other subjects) for any number of subgroups (up to ten!);

    introduce combined lessons for subgroups (such as "foreign / computer science") in any subject;

    introduce (in addition to the main subjects) special courses and electives;

    optimize the uniformity and complexity of the schedule;

    easily and quickly enter and correct the initial data;

    have any number of schedule options;

    automatically convert schedules when the database changes;

    easy to save in archives, copy and send toE- mailfull databases and schedule options (archive size of the full schedule database high school - 10-30 K, a large university - 50-70K);

    quickly make any necessary adjustments to the schedule;

    find replacements for temporarily absent teachers;

    automatically control the schedule, eliminating any "overlays" and contradictions;

    display schedules in the form of convenient and visual documents: text,Word, HTML, as well as filesdBaseand booksexcel;

    submit ready-made timetables local network and on Internet pages for general access.

Difference from analogs.
A comparative analysis of the work of the AVTOR program and programs of other developers has been repeatedly carried out by specialists from various educational institutions. The research results are published on well-known sites on the Internet, as well as in reports at conferences and master classes. It is concluded that AVTOR has the most powerful algorithm for automatic scheduling and optimization: working 10-20 times faster than analogues, the program builds better schedules according to many criteria. For example, the number of "windows" in the schedule of teachers is 2-3 times less than when using other programs.
AVTOR - program with unique opportunities. The main advantages compared to similar programs in the CIS:
. speed, compactness of system files and the ability to work in verybigeducational institutions with complex schedules;
. high level automation (accommodates 100% of the possible classes);
. high performance:cthe system allows you to create a new timetable during one session, and then quickly correct, save, print various options for timetables, modifying them if necessary throughout the school year;
. powerful automated SCHEDULE EDITOR,which theallows you to easily perform ANY actions with the schedule (adding, deleting, rearranging classes, calculating and optimizing the schedule, changing classrooms, replacing teachers, etc.). At the same time, the program clearly and conveniently suggests various options permutations (changes) of the schedule and compares their quality;
. availability of detailed statistics and an objective assessment of the quality of any schedule option;
. the ability to support any national language (at the request of the client).

Adaptation and adjustment of the program.
At the request of the customer, AVTOR is modified and adjusted to the conditions of a particular educational institution (taking into account the specifics educational process, mode of operation, forms of documents, etc.).