Research
Research interest
My research involves integration of statistics, operations research and information theory to develop advanced statistical models and statistical monitoring methods, with a focus on advancing the science of health care delivery.
Publications
- Das, D., and Zhou, S. “Detecting Entropy Increase in Categorical Data Using Maximum Entropy Distribution Approximations”, accepted in IISE Transactions ( Selected as feature article in IIE Magazine) (previously named IIE Transactions).
- Sir, M. Y., Nestler, D., , Hellmich, T., Das, D., Laughlin, M., Dohlman, M., Pasupathy, K.S., “Data-driven Optimization for Multi-disciplinary Staffing in Mayo Clinic Improves Patient Experience”, accepted, Interfaces.
- Das, D., Zhou, S., Chen, Y., and Horst, J. (2015) “Approximate Likelihood Inference for Monitoring Multivariate Count Data” International Journal of Production Research, vol. 54(21), pp. 6579-6593.
- Das, D., Chen, Y., Zhou, S. and Sievenppiper, C. (2016) “Monitoring multiple binary data stream using a hierarchical model structure” 2015. Quality Reliability Engineering International, vol. 32(4), pp. 1307-1319.
- Das, D. and Zhou, S. (2015) “Statistical Process Monitoring Based on Maximum Entropy Density Approximation and Level Set Principle.” IIE Transactions, vol 47(3), pp. 215-229. ( Selected as feature article in IIE Magazine)
- Das, D., Zhou, S. and Lee, J. D.,(2012)
Differentiating Alcohol-Induced Driving Behavior Using Steering Wheel Signals.” Intelligent Transportation Systems, IEEE Transactions on
} vol. 13 (3), pp. 1355-1368.
- Prasoon, R., Das, D., Tiwari, M. K. and Wang, L., (2011) “An algorithm portfolio approach to re-configurable set-up planning”, International Journal of Computer Integrated Manufacturing, vol. 24 (8), pp. 756-768.


ELIZABETH
***1/2 (out of ****)
Rated R (for violence, nudity and sexual content)
Elizabeth I: Cate Blanchett Sir Francis Walsingham: Geoffrey Rush Lord Robert Dudley, Earl of Leicester: Joseph Fiennes Duke of Norfolk: Christopher Eccleston Sir William Cecil: Richard Attenborough Mary of Guise: Fanny Ardant Queen Mary Tudor: Kathy Burke The Pope: John Gielgud
Directed by Shekhar Kapur. Produced by Alison Owen, Tim Bevan and Eric Fellner. Screenplay by Michael Hirst. Distributed by Gramercy Pictures. Running time: 124 minutes. Release date: November 20, 1998 in limited release; November 25th nationwide.
(to read this review, complete with pictures from the film, go to: http://www.impactprod.org/people/huston/elizabeth.htm )
It is refreshing to see a film made from a slightly different perspective from what is usually seen in its given genre. It may not be completely different, but it stands out amongst similar efforts. "Elizabeth" is such a film. It takes the art house, period costume piece and skews a dark edge to it. This is not a revolutionary feat by any means, but it is a unique vision that sets it apart from many historical dramas of recent memory. This dark look, in coercion with a gripping story and bold performances, makes "Elizabeth" one of the more enthralling cinematic ventures of the year.
Set in mid-1500s England, "Elizabeth" is the dramatization of Queen Elizabeth I's rise to power and the daunting opposition she faced once having ascended to the throne. It is a cloak-and-dagger tale where loyalties are always in question; one that climaxes to a conclusion that could be classified as Britain's version of "The Godfather". Director Shekhar Kapur has assembled an impressive piece of cinema here with his keen artistic eye and restrained, suspenseful character exposition.
The story of "Elizabeth" is essentially a power struggle with a ribald streak. In spite of threatening enemies, Queen Elizabeth chooses to rule and abide by Protestant teachings as opposed to the Catholic reign that preceded her. As a result, a potential Holy War looms over England as influential members of the Catholic Church join forces with coup-minded Royal advisors in an attempt to overthrow Queen Elizabeth, whom they see as heretical and blasphemous.
Coupled with this, there are foreign countries that look to capitalize on what they see as weakness in England, creating a truly daunting wall of opposition that surrounds Elizabeth on all sides. It is a tricky endeavor as people tend to say one thing while meaning another, with every conversation depending not on truth but rather the company of people assembled. With the exception of a few individuals, director Kapur keeps the motives of his characters veiled and uncertain. From this uncertainty rises gripping suspense and surprising revelations that keep the viewer glued in anticipation.
The cast is first-rate, displaying some of the year's best performances. Leading the way as Queen Elizabeth I is Cate Blanchett ("Oscar & Lucinda", "Paradise Road"). Blanchett commands the screen with power and nobility. It is a multi-layered performance as Blanchett allows us to see Elizabeth's weaknesses and fears; but while in the company of both loyal subjects and threatening foes, she only reveals an intimidating resolve and uncompromising strength. Blanchett excels in every regard. Expect to see her name on next spring's Oscar ballot.
Oscar winner Geoffrey Rush ("Shine") is the other standout with his turn as the mysteriously sinister Sir Francis Walsingham. A security advisor assigned to protect the Queen, Walsingham is the story's greatest enigma. Rush's subtle portrayal is chilling and ominous. From one scene to the next, we never really know where his loyalties lay. Are they with the Queen? Her enemies? Or just himself? Walsingham's actions eventually tell the tale, but the fact that we don't have a clue prior to those actions is a testament to Rush's performance and Kapur's direction. Walsingham is the polar opposite of Rush's frenetic portrayal of trouble pianist David Helfgott in "Shine", making his Oscar win for that performance seem all the more worthy.
Joseph Fiennes is impressive in his American debut. Over-shadowed in the past by his more famous brother Ralph Fiennes ("Schindler's List", "The English Patient"), Joseph puts himself on the cinematic map with his portrayal of Lord Robert Dudley, the charming Earl of Leicester who has won the heart of Elizabeth. Like his brother Ralph, Joseph has a strong screen presence as he exudes romantic passion and quiet strength through Lord Robert. These walls eventually give way to vulnerability, allowing Fiennes to showcase his range in this complex role.
Acclaimed director Sir Richard Attenborough ("Gandhi", "Shadowlands") moonlights as an actor once again (with previous roles including the "Jurassic Park" films) with his portrayal of Elizabeth's most trusted confidante Sir William Cecil. His is the only character whose moral uprightness is apparent throughout. Attenborough's Cecil is a noble servant who humbly submits all that he is to the Queen and her Kingdom. Christopher Eccleston's Duke of Norfolk is a rare cinematic villain in that he actually acts from personal conviction, not caricaturized hatred or anger. He is intense without being over-the-top as he allows his passion to rise from his beliefs, not mere prejudices. Eccleston's performance adds a level of depth to the story that could have been so easily missed.
"Elizabeth" is a sumptuous visual spectacle. The costumes designed by Alexandra Byrne (Kenneth Branagh's "Hamlet") are arguably the best seen all year. Rich in color and astounding in detail, Byrne's elegant costumes are truly impressive creations. John Myhre's ("Immortal Beloved") production design is a medieval gothic realm. High arches of cold gray stone embody the castles seen here, also replete with strong pillars and ornate decoration. All of this is captured quite well in Remi Adefarasin's ominous photography. With sweeping overhead shots and candid close-ups, the camera work by Adefarasin (assistant DP on "The English Patient") creates moods of oppressive power and mysterious darkness. The combination of these talents result in the most visually breathtaking period film since 1995's "Restoration".
Composer David Hirschfelder ("Shine", "Sliding Doors") provides a music score that is powerful and haunting. With full classical orchestrations and spiritually dark choral voices, Hirschfelder's bold compositions are as much of a force as the film's passionate performances and arresting imagery.
Michael Hirst's screenplay is an excellent mix of historical overview and dramatic complexity. As alluded to in earlier segments of this review, Hirst 's screenplay never shows its full hand until the very end. This poker face storytelling always keeps us guessing. People's loyalties and motives seemingly change from one scene to the next without their actions ever appearing disjointed or out of character. One scene we may think a person is good, then we're not so sure the next (with the converse also being true). This mysterious complexity of characters makes up for the few lulls within the story itself.
Shekhar Kapur has shot and assembled this story to near perfection. Most directors forecast a characters motives right off the bat, holding on lengthy close-ups so that we can "tell" if a person is bad or not. Kapur doesn't stoop to this amateurish level, therefore we cannot label most of the characters as "good" or "bad" until the film's final quarter. But even so, Kapur shows wisdom with his inclusion of the ethically sound Sir William Cecil. In doing so Kapur doesn't leave us completely adrift, giving the story a moral center as well as someone solid and trustworthy for us (the audience) to look to.
"Elizabeth" is an epic film that showcases one of the most courageous heroines to be seen on film in many years. It is a stirring account that is sure to engross those far beyond its core audience. To flippantly characterize this as "middle-aged Girl Power" would be to sorely misrepresent this film and the moral challenges that Queen Elizabeth faces. With depth, ambiguity, visual spectacle and sheer emotional power, "Elizabeth" is one of 1998's most captivating experiences.
(to read other reviews by Jeffrey Huston, visit his film review website "Believe Me" at: http://www.impactprod.org/people/huston/core.htm )
The review above was posted to the
rec.arts.movies.reviews newsgroup (de.rec.film.kritiken for German reviews).
The Internet Movie Database accepts no responsibility for the contents of the
review and has no editorial control. Unless stated otherwise, the copyright
belongs to the author.
Please direct comments/criticisms of the review to relevant newsgroups.
Broken URLs inthe reviews are the responsibility of the author.
The formatting of the review is likely to differ from the original due
to ASCII to HTML conversion.
Related links: index of all rec.arts.movies.reviews reviews


TABLE OF CONTENTS
A. GS1 Related B. GS2 Related Polity 1. HC puts Haryana quota law in abeyance till March 2. Expedite trial in gang rape case, says SC 3. Central panel says states don’t need to hike NREG pay to match minimum wage 4. SC to hear Rohingya plea for help 5. U.S. court rules in favour of Dr. Reddy’s in patent litigation International Relations 1. India to sign 4 pacts at BRICS summit 2. Sushma Swaraj meets Sirisena, discusses progress on Indian projects C. GS3 Related Economics 1. Centre tells PSBs to begin merger process ‘immediately’ 2. Switzerland for early India-EFTA pact 3. Shifting goal posts: Demonetisation has totally failed to curb black money Environment and Ecology 1.  Marine diversity in Antarctica under threat D. GS4 Related E. Prelims Fact F. UPSC Prelims Practice Questions G. UPSC Mains Practice Questions
Nothing here for Today!!!
1. HC puts Haryana quota law in abeyance till March
In news:
- The Punjab and Haryana High Court stayed the implementation of a Haryana law providing reservation to Jats and five other communities, till March next year.
- Court also directed the State Backward Classes Commission to determine the quota in government jobs and education institutions to be given to these communities after studying relevant data and submit a report by March 2018.
Basic Information
National Commission for Backward Classes:
- National Commission for Backward Classes is under the Ministry of Social Justice and Empowerment.
- It was constituted pursuant to the provisions of the National Commission for
Backward Classes Act, 1993.
- Constitutional status: In 2017, a bill seeking to grant constitutional status to the National Commission for Backward Classes is scheduled to be passed in Parliament. The bill has been passed by both the houses of Parliament and is awaiting the President’s assent. The NCBC Bill, will insert Article 338B.
- Indra Sawhney & Ors. Vs. Union of India: The commission was the outcome of Indra Sawhney & Ors. Vs. Union of India. The Supreme Court of India in its Judgement–directed the Government of India, State Governments and Union Territory Administrations to constitute a permanent body in the nature of a Commission or Tribunal for entertaining, examining and recommending upon requests for inclusion and complaints of over-inclusion and under-inclusion in the list of OBCs. The Supreme Court held that the Constitution recognised only social and educational — and not economic — backwardness.
- Composition: The Act provides that the Commission shall consist of five Members: a Chairperson who is or has been a judge of the Supreme Court or of a High Court; a social scientist; two persons who have special knowledge in matters relating to backward classes; and a Member-Secretary, who is or has been an officer of the Central Government in the rank of a Secretary to the Government of India. Their term is of Three years.
- Fucntions:
- The commission considers inclusions in and exclusions from the lists of communities notified as backward for the purpose of job reservations and tenders the needful advice to the Central Government
- National Commission for Backward Classes has not yet been empowered to look into the grievances of persons of Other Backward Classes.
2. Expedite trial in gang rape case, says SC
In News:
- The Supreme Court order: trial against Greyhound police force personnel allegedly involved in the gang rape of 11 women belonging to a vulnerable Adivasi tribe in Visakhapatnam be expedited and concluded in six months.
- Fact: the criminal trial had not moved in the past one decade (the victims have been waiting for justice since 2007).
Basic Information
- Greyhound police force: GreyHounds is a special force of the states of Telangana and Andhra Pradesh states which undertakes high risk operations against Naxalite terrorists.
3. Central panel says states don’t need to hike NREG pay to match minimum wage
In news:
- The panel for revision of wages under the Mahatma Gandhi National Rural Employment Guarantee Act (MGNREGA) has recommended that there is no need to ensure parity with minimum wages paid by various states
- It states that wages under the rural employment guarantee scheme were last aligned to minimum wages in 2009, and that “there is no compelling reason to align MGNREGA and states minimum wages again”.
- The panel had earlier found that MGNREGA wages were lower than the minimum agricultural wages paid in 17 states and Union Territories
- In 2014, a seven-member expert committee, headed by Professor Mahendra Dev, had held that MGNREGA workers should be paid at least the minimum wages paid to agricultural workers in the states, if not more, to meet basic needs.
- The report, was accepted by MoRD but rejected by the Finance Ministry citing the fiscal burden involved.
- The ministry panel has agreed to the 2nd recommendation of the Mahendra Dev committee, that the Consumer Price Index for Rural (CPI-R), which reflects the present consumption pattern, should be the basis for annual revision of MGNREGA wage rates, and not CPI- Agricultural Labourers (CPI-AL), which is based on the consumption pattern of 1983
Divergence in pay:
- There has been a divergence because several states have arbitrarily increased their minimum wages without following any scientific principles.
- There is no reason why the Centre should go by that
MGNREGA budget and Wage revision
- Union government had claimed that this year’s MGNREGA budget of Rs 48,000 crore is the highest ever
- But the wage revision this year was at a mere 2.7 percent, the lowest in the scheme’s ten-year legacy leading to a mere Rs 1-3 per day hike in several states.
- The MGNREGA wages are far lower than minimum wages in states such as Karnataka, Punjab, West Bengal, Haryana, and Jharkhand
4. SC to hear Rohingya plea for help
Context:
- Indian government’s proposal to deport 40,000-strong Rohingya Muslim refugee community back to their native Myanmar, where discrimination and possibly summary executions await them.
- An urgent plea was made by two Rohingya Muslim immigrants against the government’s proposed move.
In news:
- The Supreme Court has agreed to hear the plea.
- Petitioners contention:
- The Centre’s move to deport them violated the constitutional guarantee that the Indian state should “protect the life and liberty of every human being, whether citizen or not.”
- The proposed deportation is contrary to the constitutional protections of Article 14 (equality), Article 21 (right to life) and Article 51(c) (respect for international law and treaty obligations) of the Constitution.
Basic Information
Article 14: Equality before law
- The State shall not deny to any person equality before the law or the equal protection of the laws within the territory of India .
Article 21: Protection of life and personal liberty
- No person shall be deprived of his life or personal liberty except according to procedure established by law
Article 51: Promotion of international peace and security
The State shall endeavour to
- Promote international peace and security;
- Maintain just and honourable relations between nations;
- Foster respect for international law and treaty obligations in the dealings of organized peoples with one another; and encourage settlement of international disputes by arbitration.
4. U.S. court rules in favour of Dr. Reddy’s in patent litigation
In news:
- Indivior assertion: the proposed generic version of Suboxon. Inte (buprenorphine and naloxone) sublingual film by Dr. Reddy’s Laboratories infringes the patent.
- S. District Court ruling:
- Ruled in favor of Reddy’s laboratory- does not infringe any patents.
- Dr. Reddy’s Laboratories statement: The judgment reiterates our commitment to providing affordable and innovative medicines that address the unmet and under-met needs of patients around the world.
Category: INTERNATIONAL RELATIONS
1. India to sign 4 pacts at BRICS summit
- BRICS summit discussion: focus on global economic issues, national security, and development-related issues
- Plenary session discussion focus: practical cooperation and cultural exchange.
- Guests at Xiamen summit: Thailand, Mexico, Egypt, Guinea and Tajikistan
2. Sushma Swaraj meets Sirisena, discusses progress on Indian projects
Context:
- External Affairs Minister visit to Sri Lanka, to participate in the Indian Ocean Conference organised by the India Foundation.
In news:
Discussed Issues:
- The delay in the Constitution making process: Sri Lanka urged New Delhi to use its good offices to support the government see the process through.
- Delay in implementing India-backed projects in the island.
- India assured continued and fullest support to the Sri Lankan government: The national unity government led by President Sirisena and Prime Minister Ranil Wickremesinghe — from the rival parties SLFP and UNP — is under pressure. It faces large scale corruption allegations in addition to a challenge from the SLFP faction led by former strongman Mahinda Rajapaksa, who has vowed to topple the government.
India’s project:
- Joint development of a World War-era oil tank in the strategically located eastern port town of Trincomalee.
- India has expressed its interest to operate Sri Lanka’s second international airport in Mattala.
1. Centre tells PSBs to begin merger process ‘immediately’
2. Switzerland for early India-EFTA pact
In news:
- Visiting President of Switzerland Doris Leuthard said: early conclusion of the proposed Free Trade Agreement (FTA) between India and European Free Trade Association (EFTA) as well as an investment protection framework would boost economic ties between the two sides.
- Negotiations have been running since 2008.
- European Free Trade Association (EFTA) members: Switzerland, Iceland, Norway and Liechtenstein.
Basic Information
Internet Grievance Forum:
- The IGF is a forum for multi-stakeholder dialogue on public policy issues related to key elements of Internet governance issues, such as the Internet’s sustainability, robustness, security, stability and development.
- The United Nations Secretary-General formally announced the establishment of the IGF in July 2006 and the first meeting was convened in October/November 2006.
- Purpose:
- The purpose of the IGF is to maximize the opportunity for open and inclusive dialogue and the exchange of ideas on Internet governance (IG) related issues; create opportunities to share best practices and experiences; identify emerging issues and bring them to the attention of the relevant bodies and the general public; contribute to capacity building for Internet governance.
- The main aim of the IGF is to facilitate inclusive, productive discussions on Internet related public policy issues from a general perspective, while keeping all stakeholders involved. This includes having a harmonized and consistent approach when covering IG issues. To further this aim, the IGF adheres to the generally used UN principle of discouraging ad hominem attacks. As such, participants should refrain from singling out individual persons, companies, countries or entities during their interventions and throughout the general discussions and debates in main sessions, workshops and other events at IGF meetings. Concrete examples can be highlighted in the overall coverage of IG issues as long as it is not done in a blatantly inflammatory or potentially libelous way. Singling out one entity without broader context could not only discourage further participation of this entity, but endanger inclusive and productive discussion at the IGF.
Free Trade Agreement: A free-trade area is the region encompassing a trade bloc whose member countries have signed a free-trade agreement (FTA). Such agreements involve cooperation between at least two countries to reduce trade barriers – import quotas and tariffs – and to increase trade of goods and services with each other.
The degree of economic integration can be categorized into seven stages:
- Preferential trading area
- Free trade area
- Customs union
- Common market
- Economic union
- Economic and monetary union
- Complete economic integration
3. Shifting goal posts: Demonetisation has totally failed to curb black money
Context: demonetisation was failure because RBI’s annual report showed that 98.96% of the demonetised currency had returned to the central bank.
Aims& Objectives:
- November 8, 2016, Prime Minister Narendra Modi announced to the nation that ₹500 and ₹1,000 currency noteswould cease to be legal tender.
- It was aimed at breaking the grip of corruption and black money
- The notes hoarded by anti-national and anti-social elements will become just worthless pieces of paper.
- Sizeable part of the ₹15.44 lakh crore of the two high-value banknotes would remain in the hands of the holders.
- This demonetised money would not be tendered back into the banking system due to fear of punitive government action
Result:
- RBI’s annual report, showed that as much as 98.96% of the demonetised currency had returned to the central bank as of June 30
- RBI circular setting a ₹5,000 limit on deposits of withdrawn notes unless done under the government’s amnesty scheme, was a measure intended to dissuade bank customers from returning the demonetised currency.
- Finance Minister to now claim that the “confiscation of money” had not been an objective, and the government had expected all the SBNs [specified bank notes] to come back to the banking system to become effectively usable currency
- Despite the large amounts that were deposited in banks post-demonetisation, it is doubtful whether the Income Tax authorities have the necessary resources to track down and penalise the corrupt.
Demonetisation –Some benefits
- Fostering greater compliance with the tax laws
- Reducing the economy’s reliance on cash through increased adoption of digital payments.
- But such gains could have been achieved by other and less self-defeating ways.
Category: ENVIRONMENT AND ECOLOGY
1. Volcanic carbon dioxide drove ancient global warming: study
In news:
Study revelations:
- Extreme global warming event 56 million years ago was driven by massive carbon dioxide (CO2) emissions from volcanoes, during the formation of the North Atlantic Ocean.
- Palaeocene-Eocene Thermal Maximum (PETM) was associated with a geologically rapid doubling of atmospheric CO2 in less than 25 thousand years — with volcanoes squarely to blame.
- Palaeocene-Eocene Thermal Maximum (PETM) event: is the most rapid and extreme natural global warming event of the last 66 million years. It lasted for around 150 thousand years and global temperatures increased by at least five degrees Celsius. PETM roughly coincided with the formation of massive ‘flood basalts’ — large stretches of ocean floor coated in lava, resulting from of a series of huge eruptions.
- Believed till now: PETM event was caused by the injection of carbon into the ocean and atmosphere; the ultimate trigger, the source of this carbon, and the total amount released, have up to now all remained elusive.
Land drifts:
- Greenland first started separating from north-western Europe, thereby creating the North Atlantic Ocean.
- There was a total input of more than 10,000 petagrammes of carbon from a predominantly volcanic source.
- This is a vast amount of carbon — some 30 times larger than all the fossil fuels burned to date and equivalent to all current conventional and unconventional fossil fuel reserves.
2. Marine diversity in Antarctica under threat
In news:
- New research findings: An increase of just 1-2 degrees Celsius in shallow waters on the West Antarctic Peninsula has radically reduced marine diversity.
- In an area like Australia, differences in ocean temperatures are likely to change around 10-20 degrees throughout the year; however, species in Antarctica have evolved in an environment where there is very little variation in temperature. It’s certainly a concern, when the temperature changes just by one or two degree Celsius here in the Antarctic region.
Nothing here for Today!!!
|
NATIONAL PARKS/SANCTURIES/BIOSPHERE RESERVES: 1. Pin Valley National Park
2. Simbalbara National Park Location: Himachal Pradesh, India IUCN Red List: Spoon-billed sandpiper Habitat and distribution: breeds in north-eastern Russia and winters in Southeast Asia. The spoon-billed sandpiper’s breeding habitat is sea coasts and adjacent hinterland on the Chukchi Peninsula and southwards along the isthmus of the Kamchatka peninsula It migrates down the Pacific coast through Japan, North Korea, South Korea and China, to its main wintering grounds in South and South-East Asia, where it has been recorded from India, Bangladesh, Sri Lanka, Burma, Thailand, Vietnam, the Philippines, Peninsular Malaysia and Singapore.
Siberian crane Habitat and distribution: The western area in the river basins of the Ob, Konda and Sossva and to the east a much larger population in Yakutia between the Yana and the Alazeya rivers. The western population winters in Iran and some individuals formerly wintered in India south to Nagpur and east to Bihar. The eastern populations winter mainly in the Poyang Lake area in China |
F. Practice Questions for UPSC Prelims Exam
Question 1. The National Nutrition Week will be observed throughout the country from 1st to 7th
September. Consider the following statements with respect to it
- The theme of the National Nutrition Week for 2017 is “Optimal Infant & Young Child Feeding Practices: Better Child Health”.
- The basic objective of this annual event is to intensify awareness generation on the importance of nutrition for health
Select the correct option.
- 1 only
- 2 only
- Both 1 and 2
- None of the above
See
Question 2. Which of the following judgements are related to section 377 of IPC?
- Naz Foundation v. Government of NCT of Delhi (2009)
- Suresh Kumar Koushal v. Naz Foundation (2013) case
Select the correct option
- 1 only
- 2 only
- Both 1 and 2
- None of the above
See
Question 3. Consider the following statements with respect to National Commission
for Backward Classes (Repeal) Bill, 2017:
- The bill is meant to upgrade the Backward Classes Commission from a statutory body to a constitutional body.
- The Constitution (123rd Amendment) Bill, 2017, providing for setting up of a National Commission for Backward Classes, is passed by the Rajya Sabha and Lok sabha awaiting the President’s assent.
Select the correct option.
- 1 only
- 2 only
- Both 1 and 2
- None of the above
Question 4. Which of the following statements is/are provisions found in the Whistleblowers
Protection (Amendment) Bill, 2015?
- It prohibits disclosures to be made if they are covered by the Official Secrets Act, 1923
- It prohibits the reporting of a corruption-related disclosure if it falls under certain prohibited categories which are modelled on those under the RTI Act
Select the correct answer using the code given below:
- 1 only
- 2 only
- Both 1 and 2
- Neither 1 nor 2
Question 5. The 2017 session of the “IAS Conference” is being held in Paris, France.
This conference is related to which one of the following subjects/issues?
- Administration
- HIV/AIDS
- Antarctic Ice Melt
- Solar flares
Question 6. Which among the following vaccines come under Penatavalent vaccine?
- Diphtheria, Pertussis or whooping cough, tetanus, Hepatitis B and Hib vaccines.
- Diphtheria, Pertussis/whooping cough ,polio), Hepatitis B and Hib vaccines.
- Diphtheria, Pertussis/whooping cough and tetanus), Hepatitis C and Hib vaccines.
- Diphtheria, Pertussis/whooping cough and tetanus), Hepatitis A and Hib vaccines.
Question 7. Consider the following statement with reference to Egyptian vultures,
which was in news recently:
- It is the largest among all the vultures.
- It is an endangered species as per IUCN’s Red data book.
- It is also called as white scavengers
Choose the correct answer.
- 1 only
- 1 and 3 only
- 2 and 3 only
- All are correct
Question 8. Consider the following statements with reference to Bele-II experiment
which was in news recently:
- Belle-II is designed to study violations of the Standard Model of particle physics.
- Belle-II experiment is being conducted at IISC ,Bangalore
Which of the statements given above is/are correct?
- 1 only
- 2 only
- Both 1 and 2
- Neither 1 nor 2
G. UPSC Mains Practice Questions
GS Paper II
- In 2013, a two-judge bench of the Supreme Court upheld Section 377 of the Indian Penal Code, which discriminates against a section of individuals in society on the basis of their sexual orientation, so is it against the essence of Article 15 of the constitution? Examine.
- Is Chinese plan of “BRICS PLUS” a major challenge to India? Discuss.
GS Paper IV
Topic: CASE STUDY ANALYSIS
Question 1.
As a DM of a home district of serving Chief Minister, you find out that a huge land scam has taken place in which close relatives of the Chief Minister are involved. The scam which you have unearthed has caused lots of financial loss to the state’s exchequer. You have been recently married to a daughter of an MLA who is known as staunch political enemy of the CM.
While you are investigating the matter for further proofs, before you make this issue public, the CM comes to know about this. He threatens you with dire consequences if you do not close the file and bury the matter silently. He threatens you with false criminal cases and CBI investigation in case you do not budge. Unfortunately, a case is pending against you regarding misuse of treasury funds, in which you haven’t done anything wrong. This case can be reopened and used against you. However, if you stop investigation, he has assured you that you will be given a plum post in the capital.
Identify which course of action are available to you. Examine each action’s merits and demerits. Finally, explain which course of action would you follow and why?
Answer:
In this situation, the following options are available:
- Acting as per the directions of the CM and close the file in return for the plum job and to avoid investigation
- Carry on with the investigation to find substantiate proofs to the issue which caused loss to the exchequer. Upholding the law and constitution to which i owe my allegiance.
- Use my father-in-law’s position to expose the current CM and share the gain of this expose with my father-in-law.
- Report the matter in media anonymously.
Option 1
Merits:
- Plum post will be rewarded 2. Will be freed from the threat of CM and career will be safe
Demerits:
- Loss to the state exchequer and ultimate sufferer would be public
- Subversion of constitutionally mandated duty for the personal benefit
- public image and trust will be lost
Option 2
Merits:
- upholding personal integrity,objectivity, honesty, spirit of civil service
- unearthing such act would cause deleterious effect on others who may be indulged in similar other activities
- bringing such issue before the public will improve trust and confidence between state machinery and public.
- Send a strong message to the political class that honest civil servant would not succumb to their pressure tactics.
Demerits:
- Lot of personal hardship caused in the process including false CBI inquiry.
- Putting life and family in jeopardy.
Course of action to be followed:
I would choose option 2. Investigation would be carried out as usual. Meanwhile
CM should be told politely but firmly that I am performing my constitutionally mandated duties and I have no option to Go.
There is a possibility that CM’s party workers would spread message that MLA is playing vendetta politics through his in-law. So sound proofs before the public are necessary to avoid any backfire.
If CM, in the meanwhile starts any CBI investigation on my any past acts, I would welcome that as I have not done anything wrong. Even Government suspends, I would cooperate with the enquiry to prove my innocence. If necessary I would move to court for protection against harassment.
But in no case, I would close the file to avoid any personal hardship to my career and my family as it would amount to compromising on my values and ethics which civil service holds.
Also, check previous Daily News Analysis
“Proper Current Affairs preparation is the key to success in the UPSC- Civil Services Examination. We have now launched a comprehensive ‘Current Affairs Webinar’. Limited seats available. Click here to Know More.”
Enroll for India’s Largest All-India Test Series


Unlike standard web apps, a Chrome app has complete control of its windows. It can create any number of windows at arbitrary screen locations, control the window's look and feel, minimize, maximize and much more.
In this lab, we will move the Drop area of our current application to another window. Here you can see how windows talk to each other and to the event page directly, synchronously, because they are all in the same thread.
Let's adapt our code then. Start by removing the droptext

from index.html.
Create a new HTML with the drop area: droparea.html
    <link rel="stylesheet" href="todo.css"> <title>File Drop</title>
Drop Area

{{dropText}}

Move all drop-related functionality from controller.js to a new file, droparea.js:
function DropCtrl($scope) { // move here the variable initializations for defaultDropText and $scope.dropText // move here the methods dragOver, dragLeave and drop }
In the existing controller.js
, add the call to create a new window:
chrome.app.window.create('droparea.html', {id: 'dropArea', width: 200, height: 200 }, function(dropWin) { dropWin.contentWindow.$parentScope = $scope; });
And that's all. Thanks to the hierarchical scope support on Angular, the DropCtrl
controller is a child of the TodoCtrl
and inherits all the context of its parent.
To test, open the app, right-click, and select Reload App. Move the top view to the right, and you can see the additional view.
Note: If you get stuck and want to see the app in action, go to chrome://extensions
, load the unpacked lab9_multipleviews, and launch the app from a new tab.
In lab_10_publishing, we finish off with instructions on how to publish your app in the Chrome Web Store.


{: .-prime}
# Public: Duplicate some text an arbitrary number of times.
#
# text - The String to be duplicated.
# count - The Integer number of times to duplicate the text.
#
# Examples
#
# multiplex('Tom', 4)
# # => 'TomTomTomTom'
#
# Returns the duplicated String.
def multiplex(text, count)
text * count
end
See tomdoc.org.
Deprecated
Internal
Public
# options - The Hash options used to refine the selection (default: {}):
# :color - The String color to restrict by (optional).
# :weight - The Float weight to restrict by. The weight should
# be specified in grams (optional).


We are Chen-Yen Lai (賴承彥) and Yao-An Chan (詹堯安). We are here to share our life with our friends. We are currently living in Riverside, CA USA. Feel free to contact us through email.


{{ include.title }}
Name
Institution
Program
Interests
URL
Name
Institution
Program
Interests
URL
{% for student in site.people %}{% if student.status contains include.type %}
{{ student.name }}
{{ student.institution }}
{{ student.program }}
{% for tag in student.interests %}
{{- tag -}}
{% endfor %}
Profile
{% endif %}{% endfor %}


Convert any number from any base to any base. Base 2 through 36 work out of the box. For higher bases, you'll need to define your own larger set of digits. Addition, subtraction, and multiplication are also supported between numbers of any bases. Author: Costava | View source on GitHub


Weather is the state of the atmosphere, to the degree that it is hot or cold, wet or dry, calm or stormy, clear or cloudy. Weather, seen from an anthropological perspective, is something all humans in the world constantly experience through their senses, at least while being outside. There are socially and scientifically constructed understandings of what weather is, what makes it change, the effect it has on humans in different situations, etc. Therefore, weather is something people often communicate about.
Sports are usually governed by a set of rules or customs, which serve to ensure fair competition, and allow consistent adjudication of the winner. Winning can be determined by physical events such as scoring goals or crossing a line first. It can also be determined by judges who are scoring elements of the sporting performance, including objective or subjective measures such as technical performance or artistic impression.
Travel is the movement of people between relatively distant geographical locations, and can involve travel by foot, bicycle, automobile, train, boat, airplane, or other means, with or without luggage, and can be one way or round trip. Travel can also include relatively short stays between successive movements.


Harare prophet dies in horror road accident..PICTURES
A famous Warren Park Prophet known as Madzibaba Edward of the Zimbabwean Jowani Masowe eChishanu Warren Park shrine was involved in an accident yesterday and died on the spot.
Circumstances leading to the accident are still unclear as the police are yet to release an official statement.
Together with fellow Madzibabas, Mathias, Gibson, Israel, Katsiru, Edward was part of the apostolic heavyweights called the ‘big five’.


node_editor.node_graphics_edge module¶
-
class
node_editor.node_graphics_edge.
GraphicsEdge
(edge: Edge, parent=None)¶ Bases:
PyQt5.QtWidgets.QGraphicsPathItem
-
initUI
()¶
-
initAssets
()¶ Initialize assets
QObjects
likeQColor
,QPen
andQBrush
-
createEdgePathCalculator
()¶
-
determineEdgePathClass
()¶
-
changeColor
(color)¶ Change the color of the Edge
- Parameters
color (QColor or str) – Either a valid QColor or
str
such as #001000
-
setColorFromSockets
() → bool¶ Change color according to connected sockets. Return
`True`
if color can be determined
-
onSelected
()¶
-
doSelect
(new_state=True)¶
-
mouseReleaseEvent
(self, QGraphicsSceneMouseEvent)¶
-
hoverEnterEvent
(self, QGraphicsSceneHoverEvent)¶
-
hoverLeaveEvent
(self, QGraphicsSceneHoverEvent)¶
-
setSource
(x, y)¶ Set itinial position of the edge to x, y
-
setDestination
(x, y)¶ Set end position of the edge to x, y
-
boundingRect
(self) → QRectF¶
-
shape
(self) → QPainterPath¶
-
paint
(painter: PyQt5.QtGui.QPainter, option: PyQt5.QtWidgets.QStyleOptionGraphicsItem, widget: Optional[PyQt5.QtWidgets.QWidget] = Ellipsis) → None¶ Overrides default paint method if QGraphicsItem.
- Compute path of the edge, select pen depending on :
are we in dragging mode is the edge selected or not
-
calcPath
()¶ Will handle drawing QPainterPath from Paint A to B
-
intersectsWith
(p1, p2)¶
-


Extensions
The following extensions are available globally.
-
Declaration
Swift
struct Int8 : SignedInteger, Comparable, Equatable
-
Declaration
Swift
struct Int16 : SignedInteger, Comparable, Equatable
-
Declaration
Swift
struct Int32 : SignedInteger, Comparable, Equatable
-
Declaration
Swift
struct Int : SignedInteger, Comparable, Equatable
-
Declaration
Swift
struct Int64 : SignedInteger, Comparable, Equatable
-
Declaration
Swift
struct UInt8 : UnsignedInteger, Comparable, Equatable
-
Declaration
Swift
struct UInt16 : UnsignedInteger, Comparable, Equatable
-
Declaration
Swift
struct UInt32 : UnsignedInteger, Comparable, Equatable
-
Declaration
Swift
struct UInt64 : UnsignedInteger, Comparable, Equatable
-
Declaration
Swift
struct Array<Element> : RandomAccessCollection, MutableCollection
-
Declaration
Swift
struct Dictionary<Key, Value> : Collection, ExpressibleByDictionaryLiteral where Key : Hashable
-
Declaration
Swift
@objc enum HTTPStatusCode : Int
-
Declaration
Swift
struct Locale : Hashable, Equatable, ReferenceConvertible
-
Declaration
Swift
struct Date : ReferenceConvertible, Comparable, Equatable
-
Declaration
Swift
struct TimeZone : Hashable, Equatable, ReferenceConvertible
-
Declaration
Swift
struct DateComponents : ReferenceConvertible, Hashable, Equatable
-
Undocumented
See more -
Undocumented
See more -
Declaration
Swift
struct IndexSet : ReferenceConvertible, Equatable, BidirectionalCollection, SetAlgebra
-
Declaration
Swift
class NSDecimalNumber : NSNumber
-
Declaration
Swift
protocol SignedNumber : Comparable, ExpressibleByIntegerLiteral
-
Declaration
Swift
protocol UnsignedInteger : _DisallowMixedSignArithmetic, Integer
-
Declaration
Swift
enum HubbySetupWifiCommandState : Int
-
Declaration
Swift
enum HubbyWifiState : Int


For each C based interpreter you can also specify a patchlevel using the '-l' or '--level' options. Each interpreter defaults to the latest patchlevel known to rvm. For example, rvm (as of this writing) defaults ruby 1.8.7 to patchlevel 174. If you wanted to switch to patchlevel 160 to test something out you can easily do that by:
∴ rvm use ruby 1.8.7 -l 160
ruby 1.8.7 is not installed.
Installing Ruby from source to: ...
∴ ruby -v
ruby 1.8.7 (2009-04-08 patchlevel 160) [i686-darwin9.8.0]
which will download, compile and install ruby-1.8.7-p160 and then set it to current. Switching between patchlevels is very easy:
∴ rvm use ruby 1.8.7 -l 160
Switching to ruby 1.8.7 160 ...
∴ ruby -v
ruby 1.8.7 (2009-04-08 patchlevel 160) [i686-darwin9.8.0]
∴ rvm use ruby 1.8.7 -l 174
Switching to ruby 1.8.7 174 ...
∴ ruby -v
ruby 1.8.7 (2009-06-12 patchlevel 174) [i686-darwin9.8.0]
Don't forget about the shorthand due to defaults. The above is equivalent to
∴ rvm 1.8.7 -l 160 # same as: rvm use ruby 1.8.7 -l 160
∴ rvm 1.8.7 -l 174 # same as: rvm use ruby 1.8.7 -l 174


As soon as you make a successful payment your vpn account will be activated immediately. No waiting time whatsoever.
We’re constantly optimizing our network to provide unlimited bandwidth and speed, so you can stream your favorite movies and TV shows in high definition.
Every Month
Every Year


Rough Path Signature
This app will compute the signature of the path you draw below. Source code.
This app will compute the signature of the path you draw below. Source code.
The truncated signature (5 levels) of the path you've drawn. The signature is a method to summarize a path. It is a collection of iterated integrals. Here, we sample points of your mouse's movement and linearly interpolate between the points to obtain a continuous path and calculate its signature.
For instance, the values under S1 represent the total displacement (end point minus starting point) of the drawn path, while S2 contains information about the area enclosed by the path.
The signature has two important properties:
The colors help with visualization by indicating whether a value is negative (blue), neutral (yellow) or positve (red).
The signature is a powerful method to represent data. It has nice properties that can be used for machine learning, for instance in character recognition. See the resources below.
Mathematically, for a continuous path $X \colon [0,1] \to \mathbb{R}^d$ of bounded variation, the signature of $X$ is defined as \[ S(X)_{0,1} = \left (1, \: S^1(X)_{0,1}, \: S^2(X)_{0,1}, \dots \right), \] where \[ S^k(X)_{0,1} = \int_{0 < s_1 < \dots < s_k < 1} \, d X_{s_1} \otimes \dots \otimes d X_{s_k}. \] Here, the integral is taken to be the Stieltjes integral. The signature is an element of the tensor algebra $\bigoplus_{k=0}^\infty \left(\mathbb{R}^{d}\right)^{\otimes k} = \mathbb{R} \oplus \mathbb{R^d} \oplus \left(\mathbb{R^d} \otimes \mathbb{R^d}\right) \oplus \dots$.
In coordinates, we have explicitly \[ S(X)^{i_1,\dots,i_k}_{0,1} = \int_{0 < s_1 < \dots < s_k < 1} \, d X_{s_1}^{i_1} \dots d X_{s_k}^{i_k}, \] in which the indices $i_j$ take value in $\{1, \dots, d\}$.
In our case $d = 2$ and we truncate the signature at level 5. The $k$th level is an element of a vector space of dimension $d^k$, so the $k$th table above contains $2^k$ values. You can hover over the cells to see the corresponding indices.


Why should you attend Summer Schools?
To put it simply: there is no better way to learn about psychology (and related disciplines), to travel, and to meet new people, all at the same time! Summer schools offer the opportunity to explore areas of psychology that might not be taught at your university, or to really explore a subject, seeing as this scheme allows you to focus your work on one topic in the company of students who are enthusiastic about the same subject. Last year, I attended a summer school on Law, Criminology and Psychology - coming from Germany, where Criminology is in the Law faculty, that was my opportunity to learn more about eye-witness accounts, lie detection, psychopathy, and how to interrogate children. Aside from classic lectures, summer schools often include seminars and group work.
Culturally you are most likely in for a treat as well; depending on your home country, you might be surprised about the level of intimacy during the seminars. You get to take part in discussions with students from many different countries, sometimes even from different disciplines, giving you new perspectives.
The atmosphere also gives you the chance to meet like-minded students as well as professional academics. Thus, summer schools are a great way to extend your academic network; aside from interesting discussions and incitements steeming from it, knowing people from different universities and countries can be advantageous if you plan to studying abroad or to continue your education as a postgraduate researcher.
And, en passant, you also get to improve your English, your presentation, and team-work skills.
However, summer school is a label that is used for many different purposes. Some are targeted more towards PhD students or postdocs (for example the Tübingen International Summer School, highly recommended), and offer the possibility to present your research as well
Where can you learn about them?
The key to finding the right summer school for you is to keep an eye out for summer schools advertised online or via posters on campus. Google is, as usual, your friend but there are websites that list summer schools, for example http://www.summerschoolsineurope.eu/ - these are all great starting points in your search for a more interesting summer.
Also, some institutions and organizations offer summer school regularly. EFPSA, for example, hosts the European Summer School, this year in beautiful Spain, and the Schola Empirica in Prague [http://www.praguesummerschools.org/] offer many different interdisciplinary subject areas.
Some institutions offer funds for travel or summer schemes that you can apply for, and some even are free.
When?
Many Summer Schools take place in July and August, some a bit later. But most importantly, many calls are opening up now!
Examples
- European Summer School
- Prague Summer Schools
- Summer School in Tilburg
- Philosophy and Psychiatry
- Summer School on Mindfulness
So, go and enjoy your summer!


{% extends "layouts/base.html" %} {% block content %}
Here is where information about the project will go.


Hi, I'm just getting back into electronics after not having touched a soldering iron for 10 years. Santa was nice with me last year and brought me for Christmas what I had asked for in my letter to him: a full OpenEnergyMonitor kit to solder myself! But as I didn't own my own soldering iron, and because life gets in the way, I've only been able to start yesterday building the kit.
I've built the RFM12Pi (v1) and the emonTx yesterday, and the emonGLCD today. I'm pretty happy with the results, but with a minor twist: I can't get the firmware to upload to either the emonTx or the emonGLCD...
When testing both PCBs with a multimeter, I get the nice 3.3V where I'm supposed to, also 5V at the appropriate places. But when connecting with an FTDI cable (also bought in the shop here), once instructed to Upload, the Arduino IDE waits for a few seconds and then shows an orange bar with the following text:
Problem uploading to board. See http://www.arduino.cc/en/Guide/Troubleshooting#upload for suggestions.
Binary sketch size: 12274 bytes (of a 32256 byte maximum)
avrdude: stk500_recv(): programmer is not responding
According to the build instructions, the ATmega will come with Arduino Optiboot 4.4 bootloader (select Uno in IDE) but with no sketch uploaded. Since I can nicely upload sketches to my official Arduino Uno, I'm wondering if the bootloader is correctly flashed on the IC (assuming that one needs the bootloader to flash sketches?).
Does anyone have any idea what I should be testing next?
Re: Issues flashing firmware on both emonTx and emonGLCD
Actually I need to correct something: I was able to upload Sketches to my Uno 2 weeks ago, but when I try now I also get the same error message. I will investigate further to get the communication with the Uno working again, and will inform you of the progress.
FYI I'm using Ubuntu Linux 12.04.
Re: Issues flashing firmware on both emonTx and emonGLCD
So I changed the USB port and was able to upload the sample Blink program to the Uno, but the emonTx now returns:
avrdude: stk500_getsync(): not in sync: resp=0x00
and when I try a second time, I get the "programmer not responding" error message again
I noticed a difference between the Uno and the emonTx, they come up under a different Serial Port:
The Arduino documentation indicates that the FTDI device should show up like this in dmesg (although I don't know if that's only if you've compiled your own kernel, which I haven't)
ftdi_sio 2-2:1.0: FTDI USB Serial Device converter detected
When I look in dmesg, when I plug in the FTDI the following appears:
I don't see any mention of FTDI in my dmesg output, but this "cp210x converter" or "CP2102 USB to UART Bridge Controller".
Re: Issues flashing firmware on both emonTx and emonGLCD
So, I've been trying several things:
But nothing seem to get me further. I'm always getting the "programmer is not responding" error, not even the "not in sync" one anymore. And uploading to the Uno works on all 3 ports.
I've also done continuity tests using my multimeter between the pins on the USB-to-FTDI and the actual components on the board, I've ruled out a faulty soldering (at least on the FTDI component, but as mentioned before I do get my 3.3 and 5V as expected). I forgot to mention that I plug the FTDI in the right sense (GND with GND, with the led facing outwards). Byt the way, is it expected that the led on the FTDI would blink when uploading? Mine doesn't blink, althoug the few times I've seen the "not in sync" error I think I've seen it lose a tiny bit of intensity (but that could be my tired eyes, it's 1:30 am now...)
I'd appreciate some help ;)
(and just in case the help involves flashing the bootloader, I'll need just a little bit more help than the ArduinoISP and the Jeelabs tutorials, as the first doesn't really show which ISP pins on the emon* boards to use, while the second shows them but I don't have access to the code, even after having created an account on Jeelabs' redmine)
Good night!
Re: Issues flashing firmware on both emonTx and emonGLCD
It should like you might have a faulty programmer. Did you get it through the OpenEnergyMonitor shop? If so please drop us a line at<EMAIL_ADDRESS>and we'll sort out a replacement
Re: Issues flashing firmware on both emonTx and emonGLCD
You can verify that the FTDI cable is working when it's not connected to the board by simply looping the TXD and RXD pins, typing something in a terminal window and verifying that the typing is echoed back.
Re: Issues flashing firmware on both emonTx and emonGLCD
Thanks to the idea of looping TXD and RXD, I've done a continuity check on it, and found out that the pins TXD-RXD, TXD-RTS and RXD-RTS are in closed circuit (none of the other are). i.e.when I touch 2 of those 3 pins, my multimeter beeps. Is that expected?
Re: Issues flashing firmware on both emonTx and emonGLCD
That is not a valid test, and means almost nothing. It very much depends on the voltage your multimeter applies to the circuit when testing continuity as to whether a semiconductor junction (of which there will be many) will show continuity or not. The manual should tell you.
Re: Issues flashing firmware on both emonTx and emonGLCD
My low end multimeter's user's manual isn't that fancy ;)
Anyway, I've connected TXD and RXD, but when running this I don't get anything returned:
(command from the Raspberry Pi's forums, let me know if I'm not doing this correctly)
We're actually meeting tomorrow with my LUG to get our local Hackerspace started, and I've asked one of the guys to bring one of his USB-to-FTDI cables, I'll then be able to identify what goes wrong.
Thanks guys for your help!
Re: Issues flashing firmware on both emonTx and emonGLCD
I'm back from vacation, and have received the new cable. I'm glad to report that one works fine, and I was able to upload the LCD test sketch: red and green are alternating!
Thanks for your help, issue closed!


Project overview¶
MuxPi overview¶
MuxPi is an open-source hardware and software board which was designed to aid in automating tasks on physical devices. Initial goal was to automate testing on hardware platform, thus connected devices will be called Device Under Test or shortly DUT. MuxPi is intended to help in testing of embedded systems, automatic software installation or flashing and automation during development. MuxPi is connected between the DUT and a PC/Server machine which will be managing the work. The name of the board is based on its two main components: SD Mux and NanoPi
Essential functionalities¶
- Providing a DUT connection (UART, USB, ETH, microSD card, HDMI DDC) to remote location over Ethernet
- Switching a microSD card between a DUT’s microSD card slot and an onboard USB card reader
- Flashing a microSD card using an onboard USB card reader
- Flashing and controlling state of Samsung mobile devices over fully controllable, dedicated USB interface
- Switching DUT’s power supply
- Switching jumpers/buttons of a DUT in order to (re)boot/(re)configure it
- Measuring power consumption of a DUT
- Handling serial connection (UART) of a DUT
- Writing EDID to a DUT over HDMI connection
- Interacting with a user/maintainer over a simple, bidirectional interface
Interfaces / Connectivity¶
MuxPi provides all DUT interfaces using the network interface on the NanoPi. You can connect to it using standrd RJ45 socket. Additionally NanoPi NEO’s USB OTG and UART might be used to communicate with the MuxPi.
As for the interfaces to communicate with (or control) a DUT, MuxPi is equipped with:
- Ethernet
- UART (level shifted)
- USB Host (up to 4 onboard connectors, including one with power and ID control)
- USB OTG
- DyPers (Dynamic jumPers)
- microSD
- HMDI (via I2C to write EDID)
- power control and measurements
- I2C
- SPI
Relation to other projects¶
Samsung projects¶
SD-MUX¶
MuxPi is a successor of SD-MUX [1]. While its main purpose is still the same: to help automated testing of OS binary images, the MuxPi allows for achieving much more control and feedback. There are only three common functions of these two boards:
- SD card multiplexing
- controlling power of a DUT
- USB switch (not a HUB) - switch is the same but in MuxPi it does totally differnt thing. It is used to redirect USB-M data lines either to NanoPi’s USB or NanoPi’s UART.
And one function which was not present on SD-MUX board natively but would be added to them as an external circuit:
- DyPer
The whole rest of functionalities makes MuxPi far more powerful and versatile device than SD-MUX.
Besides the huge difference in hardware there are also two unquestionable advantages over SD-MUX:
- user interface - SD-MUX was more “blind” device. User couldn’t tell in what state the device was. You couldn’t tell whether the devices were turned on or off by looking on the board which is problematic in case of bigger number of devices. MuxPi has several LEDs, graphic OLED display and two buttons. It may look a little bit to much for such device but experience in using SD-MUX showed that operator needs information that can’t be passed using just LEDs.
- independency - SD-MUX was not a standalone device. It had to be connected (and powered) via USB - usually a PC or server. To reduce number of USB hubs connected to PC/server USB hubs had to be used which introduced many problems. MuxPi is a completely standalone device with its own microcomputer and linux operating system. It needs only an Ethernet connection and a power supply.
SDWire¶
After SD-MUX, a simpler board was created, SDWire [2]. It is a cheap solution for multiplexing SD card between connected device and USB (card reader mode).
SLAV stack¶
MuxPi is intended to be used as part of SLAV stack, consisting of:
- Dryads - pairs of MuxPi and DUT
- Boruta - server application for device farm management
- Weles - server application for test automation
- Perun - TBD.
… but nothing is constraining you to use MuxPi on its own or use it with other frameworks.
Non-Samsung projects¶
Below list consist only of the public projects based on SD-MUX (MuxPi predeccessor)


pymatgen.io.abinit.netcdf module¶
Wrapper for netCDF readers.
-
as_ncreader
(file)[source]¶ Convert file into a NetcdfReader instance. Returns reader, closeit where closeit is set to True if we have to close the file before leaving the procedure.
-
class
NetcdfReader
(path)[source]¶ Bases:
object
Wraps and extends netCDF4.Dataset. Read only mode. Supports with statements.
- Additional documentation available at:
- http://netcdf4-python.googlecode.com/svn/trunk/docs/netCDF4-module.html
Open the Netcdf file specified by path (read mode).
-
Error
¶ alias of
NetcdfReaderError
-
read_dimvalue
(dimname, path='/', default=<class 'pymatgen.io.abinit.netcdf.NO_DEFAULT'>)[source]¶ Returns the value of a dimension.
Parameters: - dimname – Name of the variable
- path – path to the group.
- default – return default if dimname is not present and default is not NO_DEFAULT else raise self.Error.
-
read_keys
(keys, dict_cls=<class 'monty.collections.AttrDict'>, path='/')[source]¶ Read a list of variables/dimensions from file. If a key is not present the corresponding entry in the output dictionary is set to None.
-
read_value
(varname, path='/', cmode=None, default=<class 'pymatgen.io.abinit.netcdf.NO_DEFAULT'>)[source]¶ Returns the values of variable with name varname in the group specified by path.
Parameters: - varname – Name of the variable
- path – path to the group.
- cmode – if cmode==”c”, a complex ndarrays is constructed and returned (netcdf does not provide native support from complex datatype).
- default – returns default if varname is not present. self.Error is raised if default is default is NO_DEFAULT
Returns: numpy array if varname represents an array, scalar otherwise.
-
class
ETSF_Reader
(path)[source]¶ Bases:
pymatgen.io.abinit.netcdf.NetcdfReader
This object reads data from a file written according to the ETSF-IO specifications.
We assume that the netcdf file contains at least the crystallographic section.
Open the Netcdf file specified by path (read mode).
-
structure_from_ncdata
(ncdata, site_properties=None, cls=<class 'pymatgen.core.structure.Structure'>)[source]¶ Reads and returns a pymatgen structure from a NetCDF file containing crystallographic data in the ETSF-IO format.
Parameters: - ncdata – filename or NetcdfReader instance.
- site_properties – Dictionary with site properties.
- cls – The Structure class to instanciate.


Able Player with no HTML tracks
(don't do this)
Why would you use an accessible media player to deliver inaccessible media? Makes no sense.
But if you have a compelling reason (e.g., you have to share the video with a small private audience while waiting for captions and descriptions to be finished) this test shows that Able Player is capable of handling it.


Inpei102.github.io
Unless otherwise specified, differences in the dimensions are specified as : General tolerance = (Criteria of trelance class IT18 in JIS B0401 - 1986)/2. View and Download YOKOGAWA SC202G user manual online. SC202G Transmitter pdf manual download. YOKOGAWA SC202G (S) User Manual. . Yokogawa is not responsible for damage to the instrument, poor performance of the instrument or losses resulting from such, if the problems are caused by: Improper operation by the user. PDF User s Manual Transmitter - appliedmc.com. PDF General Specifications 2-wire transmitter for Conductivity. EXA SC202 2-Wire Conductivity Transmitter/Analyzer Yokogawa. YOKOGAWA SC202G (S) USER MANUAL Pdf Download.
PDF SC202G, SC202S 2-wire Conductivity or Resistivity Transmitter. PDF User s Manual Models AE100D, AE200D - Yokogawa Electric.
YOKOGAWA SC202G USER MANUAL Pdf Download.
The SC202G(S) Device Description (DD) files are available enabling communications compatible HOST devices (and HHT for HART ®). Other files to support AMS, PRM and PDM are available as well. For more information contact your local Yokogawa sales offices. Accurate Conductivity Measurement Measuring range as function of the cell constant. The Yokogawa EXA 202 is a 2-wire transmitter designed for industrial process monitoring, measurement and control applications. This user s manual contains the information needed to install, set up, operate and maintain the unit correctly. This manual also includes a basic troubleshooting guide to answer typical user questions.
Yokogawa office or representative. DK Alle brugervejledninger for produkter relateret til ATEX Ex er tilgængelige på engelsk, tysk og fransk. Skulle De ønske yderligere oplysninger om håndtering af Ex produkter på eget sprog, kan De rette henvendelse herom til den nærmeste Yokogawa afdeling eller forhandler.
PDF 2-wire Conductivity Metering system SC202G Style:. Model SC202G (S) 2-wire transmitter for Conductivity or Resistivity (419 KB) Software. Foundation Fieldbus DD files (68 KB) Fieldbus DD/CF file - SC Transmitter SC202 PROFIBUS EDD file - EXA202 Series (606 KB) PROFIBUS GSD file - EXA202 Series (11 KB) Yokogawa DTM PROFIBUS Yokogawa DTM FOUNDATION fieldbus. User s Manual Manual Change No. 05-023-2E Oct. 31, 2005 Please use the attached sheets for the pages listed below in IM 1E7D0-01E (11th). Page and Item Contents of Correction.


Bill Cosby Vows No Remorse, Expects To Serve 10-Year Maximum
by The Associated PressCOLLEGEVILLE, Pa. (AP) — Bill Cosby says he’s prepared to serve his 10-year maximum sentence for sexual assault rather than show remorse for a crime the comedian says he didn’t commit.
Cosby is serving three to 10 years in a state prison near Philadelphia after a jury last year convicted him of sexually assaulting a Temple University employee in 2004. The 82-year-old says the Pennsylvania parole board is “not going to hear me say that I have remorse.” He thinks it’s therefore unlikely he’ll be released early.
He made the comments in a phone interview on Sunday with BlackPressUSA as he appeals his felony conviction and sex offender status.
Legal experts say sex offenders typically must show remorse to be considered for parole.
Cosby is best known for his 1980s-era sitcom, “The Cosby Show.”


MSV has a native API for validation which enables better error reporting and flexible validation. This document describes this native API of MSV.
The native API consists of two interfaces: Acceptor
and DocumentDeclaration
.
DocumentDeclaration
is the VGM. Its sole purpose is to create an Acceptor
which validates the top level sequence, which is usually the root element.
An Acceptor
performs a validation for one content model (siblings). It can create new "child" acceptors to validate child content models, thereby validating the whole tree.
One simple way to compile a schema into a VGM is to use the GrammarLoader.loadVGM
method. This method takes a schema as an argument and compiles it into a AGM, then wrap it into VGM. The source code of GrammarLoader
should reveal how you can create VGM in other ways.
It is important that some schema languages may use different VGM implementations, or there might be more than one VGM implementations for one schema language.For example, right now W3C XML Schema uses com.sun.verifier.regexp.xmlschema.XSREDocDecl
while all others use com.sun.verifier.regexp.REDocumentDecl
. So creating a VGM from an AGM is non trivial.
Let's assume that we have a DocumentDeclaration
object and see how we can perform a plain-vanilla validation by traversing a DOM tree.
From the higher point of view, the validation will be done by passing information about XML document through various methods of the Acceptor
interface, creating acceptors for each element.
The first thing to do is to create an Acceptor
and use it to validate the top level, as follows:
void validate( Document dom, DocumentDeclaration docDecl ) { Acceptor acc = docDecl.createAcceptor(); return validateElement(dom.getDocumentElement(),acc); }
The validateElement
method is defined here as validating a given element with a given acceptor:
void validateElement( Element node, Acceptor acc ) { ... }
Validation of an element is done by the createChildAcceptor
method.
This method creates a child acceptor, which will validate children of that element. This method takes a StartTagInfo
as a parameter; this object holds the information about the element name and attributes (information about the start tag), and you are responsible for creating that object.
void validateElement( Element node, Acceptor acc ) { org.xml.sax.helpers.AttributesImpl atts = /* create SAX Attributes object from attributes of this node. */ // StartTagInfo uses Attributes object for keeping attributes. StartTagInfo sti = new StartTagInfo( node.getNamespaceURI(), // information about the element name. node.getLocalName(), node.getName(), attributes, context ); Acceptor child = acc.createChildAcceptor(sti,null); if(child==null) throw new InvalidException(); }
If there is a validation error (e.g., unexpected element), the createChildAcceptor
method returns null.
Once you create a child acceptor, the next thing to do is to validate children (attributes of that element, child elements, and texts within that element) with it. After that, call the isAcceptState
method to see if the child acceptor is "satisfied". An acceptor is satisfied when the whole content model was OK.
Acceptor child = acc.createChildAcceptor(sti,null); if(child==null) throw new InvalidException(); validateChildren(node,child); // test if it's OK to end the contents here. if(!child.isAcceptState()) throw new InvalidException();
For example, when the content model is (a,b,c)
and the actual content is <a/><b/>
, then the acceptor won't be satisfied because it still need to see c
.
So when false
is returned from this method, then it means mandatory elements are missing.
Once you make sure that the child acceptor is in a valid state, then you'll pass it back to the parent acceptor. The parent acceptor will step forward (think of it as an automaton) by eating the child acceptor.
acc.stepForward(child);
The complete code of the validateElement
method will be as follows:
void validateElement( Element node, Acceptor acc ) { // create StartTagInfo StartTagInfo sti = new StartTagInfo( ... ); Acceptor child = acc.createChildAcceptor(sti,null); if(child==null) throw new InvalidException(); validateChildren(node,child,sti); // test if it's OK to end the contents here. if(!child.isAcceptState()) throw new InvalidException(); acc.stepForward(child); }
Let's move on to the validateChildren
method.
First, call the onAttribute
method for each attribute:
void validateChildren( Element node, Acceptor acc, StartTagInfo sti ) { NamedNodeMap atts = node.getAttributes(); for( int i=0; i<atts.getLength(); i++ ) { Attr a = atts.item(i); if( !acc.onAttribute(a.getNamespaceURI(),a.getLocalName(), ... ) ) throw new InvalidException(); } }
It returns false if there is an error in the attribute (e.g., undefined attribute, or the attribute value is wrong).
Then, call the onEndAttributes
method to indicate that no more attribute is there.
if(!acc.onEndAttributes(acc,null)) throw new InvalidException();
This method returns false when there has to be more attributes. For example, this method returns false when a mandatory attribute is missing.
Once you processed attributes, you'll process the children (contents) of the element.
node.normalize(); for( Node n = node.getFirstChild(); n!=null; n=n.getNextSibling() ) { switch(n.getNodeType()) { case Node.ELEMENT_NODE: validateElement( (Element)n, acc ); break; case Node.TEXT_NODE: case Node.CDATA_SECTION_NODE: String text = n.getNodeValue(); if(!acc.onText(text,context,null,null)) throw new InvalidException(); break; } }
It is important to normalize the DOM tree. This is because the onText
method has to be called with the whole text chunk. For example, if you have an XML like <foo>abcdef</foo>
, then you cannot call the onText
method twice by splitting "abcdef" into two substrings.
The onText
method returns false if the text is invalid. Usually, it is because the text is not allowed there at all, or the text is invalid wrt the datatype.
The following table summarizes atoms in XML documents and actions you have to take.
| Atom | Action |
| start tag |
call the createChildAcceptor and switch to the child acceptor
|
| end tag |
call the isAcceptState then stepForward , switch back to the parent acceptor.
|
| attribute |
call the onAttribute method. Don't forget to call the onEndAttributes .
|
| text |
call the onText method. Be careful with the normalization.
|
Although I didn't mentioned in the previous section, one needs to specify a "context" object (com.sun.msv.verifier.IDContextProvider
) to some of the abovementioned methods. Those objects are used to provide contextual information (like namespace prefix bindings, the base URI, etc). For example, "QName" datatype needs to resolve a namespace prefix into a namespace URI.
You have to implement a context object by yourself and pass it to methods that need it. If you are not interested in xml:base
, then you can return null from the getBaseUri
method. Similarly, if you don't care about entities and notations, then you can return false from the isNotation
and isUnparsedEntity
methods.
Most of the methods on the Acceptor
interface returns false to indicate a validation error. To obtain more detailed error message, pass a StringRef
object to those methods.
Consider the following example for the isAcceptState
method:
if(!acc.isAcceptState(null)) { // there was an error in the document. // create a StringRef object. This object will // receive error message. StringRef ref = new StringRef(); // call the isAcceptState method again acc.isAcceptState(ref); // print the error message System.out.println(ref.str); }
These methods do not change the state of the acceptor when they return false. So you can call the same method again (with a valid StringRef
object) to get the error message.
If you specify a StringRef
object, the acceptor will recover from the error as a side-effect. For example, if the createChildAcceptor
method returns null and you call the same method again with a StringRef
, then it will return a valid child acceptor object.
Acceptor child = parent.createChildAcceptor(sti,null); if(child==null) { // get the error message StringRef ref = new StringRef(); child = parent.createChildAcceptor(sti,ref); System.out.println(ref.str); // the above statement will return a valid acceptor // so we can continue validating documents. } ...
The same recovery behavior will apply for all other methods. This makes it possible to continue validation after seeing errors.
Note that because the error recovery is highly ad-hoc, somtimes it will fall into the panic mode, in which a lot of false errors are reported. So you may want to implement some kind of filters to suppress error messages until you are sure that it gets back to sync.
Acceptors can be always cloned by calling the createClone
method. Such a clone is useful to "bookmark" a particular element of a document.
For example, you can run the normal validation once to associate each DOM Node
with Acceptor
. Later, you can use that cloned acceptor to re-validate a subtree.
In the onText
and onAttribute
methods, applications can obtain datatypes that are assigned to those text.
To obtain this information, pass a non-null DatatypeRef
object to those methods. Upon the method completion, this DatatypeRef
object will receive an array of Datatype
s.
When the array is null or empty, it means there was an error or the datatype was not uniquely determined. When there is only one item in the array, it means the attribute value (or the text) is validated as that datatype. If there are more than one items in the array, it measn the attribute value (or the text) was validated as a <list> (of RELAX NG) and each datatype in the array indicates the datatype of each token.


Before Change
self.assertEquals(java_retcode, 1)
self.assertIn("java.lang.NoClassDefFoundError: com/google/common/collect/ImmutableSortedSet", java_stderr)
java_run = subprocess.Popen([
"java", "-cp",
jar_filename + ":" + ".pants.d/ivy/jars/com.google.guava/guava/bundles/guava-18.0.jar",
"org.pantsbuild.testproject.deployexcludes.DeployExcludesMain"],
stdout=subprocess.PIPE)
java_retcode = java_run.wait()
java_stdout = java_run.stdout.read()
self.assertEquals(java_retcode, 0)
self.assertIn("DeployExcludes Hello World", java_stdout)
def build_and_run(self, pants_args, rel_out_path, java_args, expected_output):
After Change
jar_filename = os.path.join("dist", "deployexcludes.jar")
safe_delete(jar_filename)
command = ["binary", "testprojects/src/java/org/pantsbuild/testproject/deployexcludes"]
with self.pants_results(command) as pants_run:
self.assert_success(pants_run)
// The resulting binary should not contain any guava classes
with open_zip(jar_filename) as jar_file:
self.assertEquals({"META-INF/",
"META-INF/MANIFEST.MF",
"org/",
"org/pantsbuild/",
"org/pantsbuild/testproject/",
"org/pantsbuild/testproject/deployexcludes/",
"org/pantsbuild/testproject/deployexcludes/DeployExcludesMain.class"},
set(jar_file.namelist()))
// This jar should not run by itself, missing symbols
self.run_java(java_args=["-jar", jar_filename],
expected_returncode=1,
expected_output="java.lang.NoClassDefFoundError: "
"com/google/common/collect/ImmutableSortedSet")
// But adding back the deploy_excluded symbols should result in a clean run.
classpath = [jar_filename,
os.path.join(pants_run.workdir,
"ivy/jars/com.google.guava/guava/bundles/guava-18.0.jar")]
self.run_java(java_args=["-cp", os.pathsep.join(classpath),
"org.pantsbuild.testproject.deployexcludes.DeployExcludesMain"],
expected_output="DeployExcludes Hello World")
def build_and_run(self, pants_args, rel_out_path, java_args, expected_output):
self.assert_success(self.run_pants(["clean-all"]))
pants_run = self.run_pants(pants_args, {})
self.assert_success(pants_run)


Duster share “Copernicus Crater” off first album in 19 years
by BrooklynVegan StaffInfluential California slowcore space rockers Duster will release their first album in 19 years on December 13 via Mudguts, and have just shared a new single from it. “Copernicus Crater” is as otherworldly as its title, with fuzzy pings of guitar being shot out like radio signals into the cosmos. The music video intercuts aerial views of the earth with mysterious terrestrial close-ups. Watch that, and the video for recent non-LP cut “Interstellar Tunnel,” below.
Duster played NYC’s Octfest last month and don’t currently have any shows on the horizon.
Duster – Duster tracklist:
1. Copernicus Crater
2. I’m Lost
3. Chocolate And Mint
4. Summer War
5. Lomo
6. Damaged
7. Letting Go
8. Go Back
9. Hoya Paranoia
10. Ghoulish
11. Ghost World
12. The Thirteen


I have tried Yopo a number of times, both smoking it and taking it as a snuff. For the most part, these experiences have mostly been ineffective. Aside from extreme burning, snorting the snuff left me feeling very disoriented. At most I would have mild CEVs but nothing truly mind-blowing. Smoking, on the other hand was a little more pleasant. My back and neck became to tingle and I definitely felt its influence, however the visions were hardly apparent, consisting of some wavy textures and some CEVs.
In retrospect, I chalk these previous failures up to the fact that I did not use lime. At the time I only had baking soda available to me and I really didnít think it would make a whole lot of difference given that so many people have reported dramatic success with it. Well, it certainly did with me. In my last experience with Yopo, I snorted 0.25 grams of the snuff with lime and found it extremely effective.
The website that sold the seeds to me offered them in powdered form. I figured, what the hell and ordered them thinking they would at least remove the shells before they powdered the material. WRONG. When I received the seeds, to my surprise I saw that they had not removed the husks, but simply crushed the seeds. Oh well, I thought, at the time I didnít think it would make a difference. So I proceeded to make the snuff:
Firstly, I reground the seeds in my mortar, then I weighed it; the yield was about 1.7 grams. I set that aside and weighed out a portion of lime that was 1/5 the weight of the Yopo. I then mixed them together and with an eyedropper, I added enough water to turn the mixture into a thick paste. After it was thoroughly mixed (no clumps), I let the material dry in my mortar, in close proximity to a fan. After about an hour the mixture was fairly dry and doughy. I then placed the material in a frying pan, turned on medium. Using two razor blades, I preceded to mix the material as it heated to ensure it that it dried evenly.
After less than 15 minutes, the snuff was powdery enough to work with. Assuming it was done; I let it cool and then poured 0.25 grams of it on a smooth clean surface and divided it into 6 semi-equal lines. I then proceeded to snort it.
To my surprise it didnít burn as bad as before, but still was pretty unpleasant. With a pretty steady pace, I took the first three lines in my left nostril then did the others on the other side. It was fairly easy to do. When I was done I could feel the sludge moving through my nasal cavity towards the back of my throat. I could practically taste that disgusting roasted peanuts. It was so pungent that I began to gag a little. I could feel the next stage of the trip quickly beginning.
Without delay I ran to the bathroom and kneeled at my porcelain altar.  My housemate was concerned on account of all the yelling, the heaving and the gagging I did. Apparently between heaves I was screaming, ďOH GOD, OH GOD!!Ē and slamming my hands upon the altar. When I closed my eyes I saw swirling images and various shades of green and purple. My vomit also took on this hue and perhaps this helped me accept what was happing. My mind was pretty much at ease through all of this, aside from the horrible vomiting, of course. But still, I knew it was all part of the process and I was just waiting for it to end.
About half through the upchucking (which I think lasted about 15 minutes), my housemate knocked on the door and asked me if I was OK, and in a very calm and collected voice, I told her I was fine, Iím OK. In my head I definitely knew that. As the vomiting subsided I became tranquil and whether I passed out or voluntarily fell asleep on the bathroom floor, I couldnít say. I couldnít tell exactly what I experienced then but whatever it was, it was definitely serene.
I woke up to my housemate slamming the door into the back of my head and asking me if I wanted some water. I told her to leave it where I can find it and Iíll be out in a few minutes. Then, as I stared at the ceiling I saw beautiful textural patterns appear. The room had taken on a very warm color and it appeared to be breathing lightly. It was a very blissful experience.
When I finally came back to myself I walked out to the living room with an odd swagger. I was definitely feeling euphoric and I all I could say for a few minutes was how amazing the experience was even though I could and still cannot explain it fully. Overall, I was pretty out of it and I couldnít really hold a conversation. The visuals lasted for a few minutes longer and then diminished.
So was it worth it? Iím still not sure.  But that wasnít why I tried it in the first place. It was indeed an interesting experience, visually and disgustingly stunning. Iíll always remember it. I didnít really gain any insight into my life but then again being pushed to that level of purging could have been insightful in itself. It did have its drawbacks: I became horrible congested for the next week, got a bad cold, for the rest of the night when I blew my nose I blew out brown snot with little pieces of husk in it. In fact, Iím wondering if the husk had actually caused me to vomit so fiercely. Indeed if I do, do Yopo again I will make sure to shell them first. Or better yet, Iíd rather try smoking an extraction from the Yopo, (i.e. Calcium Bufotenate).
Experience Reports are the writings and opinions of the individual authors who submit them.
Some of the activities described are dangerous and/or illegal and none are recommended by Erowid.


GLPK, the GNU Linear Programming Kit, is a piece of software which solves linear optimization problems.
Installation
sudo apt-get install glpk-utils libglpk-dev glpk-doc python-glpk
Assignment problem
The following file is in the examples of GLPK. Save it as problem.mod
:
param m, integer, > 0;
/* number of agents */
param n, integer, > 0;
/* number of tasks */
set I := 1..m;
/* set of agents */
set J := 1..n;
/* set of tasks */
param c{i in I, j in J}, >= 0;
/* cost of allocating task j to agent i */
var x{i in I, j in J}, >= 0;
/* x[i,j] = 1 means task j is assigned to agent i
note that variables x[i,j] are binary, however, there is no need to
declare them so due to the totally unimodular constraint matrix */
s.t. phi{i in I}: sum{j in J} x[i,j] <= 1;
/* each agent can perform at most one task */
s.t. psi{j in J}: sum{i in I} x[i,j] = 1;
/* each task must be assigned exactly to one agent */
minimize obj: sum{i in I, j in J} c[i,j] * x[i,j];
/* the objective is to find a cheapest assignment */
solve;
printf "\n";
printf "Agent Task Cost\n";
printf{i in I} "%5d %5d %10g\n", i, sum{j in J} j * x[i,j],
sum{j in J} c[i,j] * x[i,j];
printf "----------------------\n";
printf " Total: %10g\n", sum{i in I, j in J} c[i,j] * x[i,j];
printf "\n";
data;
/* These data correspond to an example from [Christofides]. */
/* Optimal solution is 76 */
param m := 8;
param n := 8;
param c : 1 2 3 4 5 6 7 8 :=
1 13 21 20 12 8 26 22 11
2 12 36 25 41 40 11 4 8
3 35 32 13 36 26 21 13 37
4 34 54 7 8 12 22 11 40
5 21 6 45 18 24 34 12 48
6 42 19 39 15 14 16 28 46
7 16 34 38 3 34 40 22 24
8 26 20 5 17 45 31 37 43 ;
end;
Now run it with
glpsol --model assignment.mod
You will see
GLPSOL: GLPK LP/MIP Solver, v4.57
Parameter(s) specified in the command line:
--model assignment.mod
Reading model section from assignment.mod...
Reading data section from assignment.mod...
assignment.mod:60: warning: final NL missing before end of file
60 lines were read
Generating phi...
Generating psi...
Generating obj...
Model has been successfully generated
GLPK Simplex Optimizer, v4.57
17 rows, 64 columns, 192 non-zeros
Preprocessing...
16 rows, 64 columns, 128 non-zeros
Scaling...
A: min|aij| = 1.000e+00 max|aij| = 1.000e+00 ratio = 1.000e+00
Problem data seem to be well scaled
Constructing initial basis...
Size of triangular part is 16
0: obj = 2.240000000e+02 inf = 7.000e+00 (1)
13: obj = 1.750000000e+02 inf = 0.000e+00 (0)
* 28: obj = 7.600000000e+01 inf = 0.000e+00 (0)
OPTIMAL LP SOLUTION FOUND
Time used: 0.0 secs
Memory used: 0.2 Mb (192291 bytes)
Agent Task Cost
1 1 13
2 8 8
3 7 13
4 5 12
5 2 6
6 6 16
7 4 3
8 3 5
----------------------
Total: 76
Model has been successfully processed
See also
- GLPK Documentation
- BwInf 31.1, A2
- IBM: Introduction to linear optimization, Intermediate problems in linear programming, Advanced problems and elegant solutions
- WikiBook